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

10 минут. всплески загрузки ЦП: как узнать, какие процессы являются причиной?

Приведенный выше график использования ЦП был создан при запуске псевдосенсор ночь на моем Linux-боксе. Обратите внимание на 10-минутные всплески активности, потребляющие до 40% Xeon. Машина должна была простаивать всю ночь, за исключением, возможно, административных процессов, настроенных по умолчанию с однопользовательской настройкой рабочего стола Debian. Высота окна 67% (из-за короткого всплеска справа).

Как я могу выяснить, какие процессы вызывают эти 10-минутные всплески использования ЦП? В идеале было бы полезно иметь похожие графики для каждого процесса.

Глядя на график, мне кажется, что периоды высокой загрузки процессора случаются в течение целых или получасовых часов, что указывает на то, что что-то работает через cron. Если вы хотите начать расследование по этому маршруту, я бы начал с этого.

Тем не менее, учитывая, что всплески высокой загрузки ЦП довольно продолжительны (десять минут в вашем случае), вы можете просто сбросить состояние системы с помощью собственного задания cron анализировать утром.

Я бы предложил использовать topпакетный режим (-b) с количеством итераций 1 (-n 1), поэтому вы должны добавить что-то вроде следующего в новый файл в /etc/cron.d:

* * * * * root top -b -n 1 > /var/log/processes/$(date +%F_%R)

Не забудьте создать для этого каталог / var / log /cesses.

Утром выберите один или несколько из этих файлов из периода высокой загрузки ЦП и внимательно посмотрите на них.

Порядок сортировки по умолчанию, по-видимому, является максимальным текущим использованием ЦП, что должно хорошо работать в вашем случае. В противном случае вы можете просто импортировать файл в приложение для работы с электронными таблицами (он должен импортировать точно как данные фиксированной ширины) и отсортировать по полю% CPU. Как только вы знаете имя двоичного файла, вы можете искать его на диске (в том числе с помощью dpkg -S чтобы выяснить, к какому пакету он принадлежит), или измените приведенное выше, добавив что-нибудь вроде pstree чтобы понять, что привело к вызову этого конкретного двоичного файла.

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

я использовал https://sealion.com/ при первом запуске, и он отслеживает и записывает системную информацию, такую ​​как захват вывода вершины и т.п. Возможно, это даст вам то, что вам нужно, чтобы отследить проблему.

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

Здесь уже говорилось об этом, что может сэкономить вам время:

Как мне регистрировать использование ЦП для каждого процесса?

Я бы предложил использовать поверх с интервалом 30 секунд для сбора данных. Затем вы можете легко перемещаться в любой точке (t - вперед / сдвиг + t - назад) и получать расширенную статистику - загрузка процессора / io / сети и так далее.