某用户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,用于避免在[内存]不足的时候不至于出现严重问题,把一些无关的高占用的进程优先杀掉,即在内存严重不足时,系统为了继续运转,内核会挑选一个进程,将其杀掉,以释放内存,缓解内存不足情况,