Как отследить пики памяти?

8

У меня есть приложение, работающее в облаке RackSpace (Ubuntu 10.04). По какой-то причине в течение последних 3 ночей память вспыхивала, а затем выравнивалась в течение приблизительно 7 часов, прежде чем, в конечном счете, упасть. Кажется, он начинается в полночь и длится до 7 часов утра (игнорируйте время на графике - они отключены на 4 часа).

альтернативный текст

Если посмотреть на диаграмму Мунина , то в mysql не наблюдается какой-либо повышенной активности, и в это время трафик Ethernet, похоже, вообще не зашкаливает (что, по-видимому, сводит на нет что-то вроде бота или сканера).

Какие инструменты доступны для Linux для устранения проблем, как это?

jerhinesmith
источник

Ответы:

3

Я не совсем уверен, что он идеально подойдет, но пакет учета процессов (в основном называемый psacct или acct) способен вести учет того, кто (какой аккаунт) выполняет какую (какую программу). Это может помочь вам выяснить, что работает в указанное вами время.

wzzrd
источник
Это может быть хорошей идеей. psacct обычно используется для записи, отчета или даже ограничения с помощью квоты использования процессора или тактов. Это был старый способ удостовериться, что клиент / пользователь сервера UNIX платит за использование, которое он / она / он сделал. Одно замечание по этому поводу: psacct, по крайней мере, включивший в журнал все, является огромным дисковым хоггером в использовании дискового пространства.
Райх
1

В общем, я не знаю, какой инструмент мог бы вам помочь, кроме psрегулярной регистрации и последующего анализа действий процессов.

Тем не менее, я могу сделать предположение о скачках около 6:00 на вашем графике, это могут быть ежедневные задания cron в Ubuntu по умолчанию. На моей машине /etc/crontab, daily.dнастроен для работы в 6:25 утра. Но вы сказали, что мы должны игнорировать время, поэтому очевидный вопрос, есть ли у вас рабочие места cron?

Elmarco
источник
Это была моя первая мысль. Тем не менее, мои ежедневные задания выполняются в 13:00 по местному времени. Приложение выполняет несколько заданий, но они начинаются либо в 18:00, либо в 2:00.
иероглиф
2
Если вы идете по обычному psмаршруту, HOWTO «HowTo: память профиля в системе Linux» будет немного подробнее: mail.nl.linux.org/linux-mm/2003-03/msg00077.html
Geoff Чайлдс
1

Мой ответ по умолчанию на такие вопросы будет sar( System Activity Reporter ) из пакета sysstat .

Но, насколько я знаю, sarне собирает эквивалент для вывода ps. Так что, возможно, sarпоможет комбинация и ответ elmarcos (регулярно фиксируйте вывод ps).

РЕДАКТИРОВАТЬ:

Стив Д. упомянул pidstatв этом вопросе . Это кажется более подходящим для ваших нужд.

Кристиан
источник
добавили еще одну команду, которая упоминалась в другом вопросе.
Кристиан