某用戶1G內(nèi)存的小雞Linux系統(tǒng)(centos7)總是運行幾小時就陷入假死狀態(tài),同時伴隨CPU高負(fù)載現(xiàn)象。遠(yuǎn)程登錄SSH無反應(yīng),寶塔面板也打不開。
本地調(diào)出窗口,發(fā)現(xiàn)提示:
Out of memory: Killed process 5372 (mysqld) score 130 or sacrifice child
Killed process 5372 (mysqld), UID 0, total-vm:2539052kB, anon-rss:2117096kB, file-rss:0kB, shmem-rss:0kB
這表明物理內(nèi)存嚴(yán)重不足,導(dǎo)致占用內(nèi)存最大的MYSQL被KILL了。其它程序也因為內(nèi)存不足陷入了假死狀態(tài)。
這種情況下,如果沒辦法減少內(nèi)存占用,明智的辦法只能升級內(nèi)存了。
因為Out of memory 狀態(tài)下,linux有一個保護(hù)機制:OOM(Out of memory) Killer,用于避免在[內(nèi)存]不足的時候不至于出現(xiàn)嚴(yán)重問題,把一些無關(guān)的高占用的進(jìn)程優(yōu)先殺掉,即在內(nèi)存嚴(yán)重不足時,系統(tǒng)為了繼續(xù)運轉(zhuǎn),內(nèi)核會挑選一個進(jìn)程,將其殺掉,以釋放內(nèi)存,緩解內(nèi)存不足情況,