Удобная утилита, написанная на Python, для проверки занятой памяти процессами.
Суммирует используемую память всех экземпляров каждого процесса программы и выводит общее значение.
Установка в CentOS:
# yum -y install ps_mem
Или через:
# pip install ps_mem
Опции:
-w N
– выполнять через N секунд;
-p
– выводить информацию только по указанном PID
(или списку PID
через запятую);
-s
– выводить команду полностью, а не только имя процесса.
Будучи вызванной без опций – выведет такой список:
# ps_mem Private + Shared = RAM used Program 4.0 KiB + 18.5 KiB = 22.5 KiB mysqld_safe 4.0 KiB + 22.0 KiB = 26.0 KiB config 12.0 KiB + 23.0 KiB = 35.0 KiB log 4.0 KiB + 34.0 KiB = 38.0 KiB python 16.0 KiB + 22.0 KiB = 38.0 KiB anvil 0.0 KiB + 56.5 KiB = 56.5 KiB udevd (3) 8.0 KiB + 60.0 KiB = 68.0 KiB mysql 24.0 KiB + 63.0 KiB = 87.0 KiB mingetty (6) 76.0 KiB + 27.5 KiB = 103.5 KiB dovecot 104.0 KiB + 28.0 KiB = 132.0 KiB init 12.0 KiB + 144.0 KiB = 156.0 KiB pop3-login (3) 12.0 KiB + 144.0 KiB = 156.0 KiB imap-login (3) 132.0 KiB + 28.5 KiB = 160.5 KiB crond 164.0 KiB + 27.5 KiB = 191.5 KiB auditd 156.0 KiB + 94.0 KiB = 250.0 KiB exim 364.0 KiB + 37.5 KiB = 401.5 KiB rsyslogd 24.0 KiB + 455.0 KiB = 479.0 KiB sudo (5) 324.0 KiB + 197.0 KiB = 521.0 KiB auth (2) 196.0 KiB + 433.0 KiB = 629.0 KiB sshd (3) 252.0 KiB + 595.0 KiB = 847.0 KiB zabbix_agentd (6) 1.1 MiB + 317.0 KiB = 1.4 MiB nginx (2) 1.5 MiB + 306.0 KiB = 1.8 MiB bash (13) 2.9 MiB + 257.0 KiB = 3.2 MiB htop (2) 4.1 MiB + 683.5 KiB = 4.8 MiB imap (10) 4.4 MiB + 3.0 MiB = 7.4 MiB httpd (12) 13.6 MiB + 119.5 KiB = 13.7 MiB screen (2) 39.0 MiB + 5.4 MiB = 44.4 MiB spamd (3) 50.3 MiB + 98.5 KiB = 50.4 MiB mysqld 536.0 MiB + 7.8 MiB = 543.9 MiB php-cgi (25) --------------------------------- 675.4 MiB =================================
Вот и “виновник” срабатывания OOM Killer
-а этой ночью:
536.0 MiB + 7.8 MiB = 543.9 MiB php-cgi (25)