某用戶1G內存的小雞Linux系統(centos7)總是運行幾小時就陷入假死狀態,同時伴隨CPU高負載現象。遠程登錄ssh無反應,寶塔面板也打不開。
本地調出窗口,發現提示:
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
這表明物理內存嚴重不足,導致占用內存最大的mysql被KILL了。其它程序也因為內存不足陷入了假死狀態。
這種情況下,如果沒辦法減少內存占用,明智的辦法只能升級內存了。
因為Out of memory 狀態下,Linux有一個保護機制:OOM(Out of memory) Killer,用于避免在[內存]不足的時候不至于出現嚴重問題,把一些無關的高占用的進程優先殺掉,即在內存嚴重不足時,系統為了繼續運轉,內核會挑選一個進程,將其殺掉,以釋放內存,緩解內存不足情況,