問題描述
線上環境是阿里云最低配的1G內存CentOS系統,時不時的網站就掛掉了,報錯Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’
第一步,查看了mysql的日志,
[ERROR] InnoDB: Cannot allocate memory for the buffer pool
發現原來是沒有足夠的內存第二步,top看下系統內存
發現線上部署的爬蟲,沒有自動停掉,每小時就啟動一個進程,占用了大量的內存,于是全部kill掉,檢查定時任務設置的問題及爬蟲問題-
第三步,為mysql設置最大內存
vim /etc/my.cnf #add innodb_buffer_pool_size=500M #MySQL默認為其申請的最大內存為128M