@svlytkin

Как определить, какой процесс грузит vds?

Подскажите, пожалуйста, есть ли инструмент для определения, какой процесс cron грузит память?

Пользовал top и ps -ef, но там не показывает, какой точно процесс.
Поставил munin, но там только графики для мониторинга.

У меня vds на digitalocean, 4 процесса в кроне, которые синхронизируют данные между сервисом рассылки, сайтом и crm.
В определённый момент перестаёт грузиться сайт из-за них (в поддержке digitalocean написали, что сервер убивает процесс запуска сайта из-за нагрузки), но какие процессы этому причиной точно определить не получается.
  • Вопрос задан
  • 2802 просмотра
Пригласить эксперта
Ответы на вопрос 2
@RPG
Oprofile умеет мониторить производительность всей системы без заметного замедления. Всё записывается в лог, из которого потом можно сформировать отчёт - виновник тоже должен попасться.
Ответ написан
nekipelov
@nekipelov
top все прекрасно отображает (в колонке %CPU процент использования, в колонке COMMAND имя процесса), можно использовать более удобный htop.

Можно в cron запускать программы через time, тогда после выполнения на емейл придет отчет вот такого вида:

real 1m1.694s
user 0m3.360s
sys 0m5.516s

из которого понятно, сколько процессорного времени затратила программа и в каком режиме.

Можно запускать с помощью cron каждую минуту команду
ps h -eo pcpu,comm | sort -n  | tail -n1 >>/home/user/cpu-usage-stat
и после поступления очередной жалобы смотреть, какой же процесс встречается чаще всего. Если бы передо мной встала такая задачка, я бы таким же образом выводил штук 5 самых жадных до CPU процессов, сохранял в БД, а потом посмотрел.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы