Назад | Перейти на главную страницу

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 ГБ!

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

ps_mem.py ИМО немного точнее, потому что правильно оценивает объем разделяемой памяти там, где вершина глючит.

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

Подробности рекомендую прочитать через ps_mem.py код