ps_mem.py vs top - использование памяти?

Время от времени мой сервер apache падает, получая сообщение о том, что достигнут MaxClients. В моих исследованиях у меня сложилось впечатление, что мне может не хватать памяти (только что проверил, и MaxClients установлено на 1500, хотя число процессов Apache колеблется между 40 и 100)

Во всяком случае, это просто немного фона.

Когда я бегу top Мне сказали, что у меня всего около 15 ГБ, 14 ГБ используется, и Free в настоящий момент колеблется между 500 МБ - 1 ГБ (хотя примерно часом раньше было около 3-4 ГБ свободного)

Я тоже бегал ps_mem.py однако и это показывает, что используется только 3-4 ГБ!

Почему разница? И какой из них правильный?

1 ответ

ps_mem.py IMO немного точнее, потому что он правильно оценивает количество разделяемой памяти, где top глючит.

топ читает /proc/<PID>/statm тогда как ps_mem.py читает более подробную информацию из /proc/<PID>/smaps и оценивает общее использование многопроцессорного демона с большей точностью.

Для подробностей я рекомендую прочитать ps_mem.py код

Другие вопросы по тегам