У меня есть коробка на Линоде, которая ведет себя странно. Время от времени ввод-вывод ЦП и диска будет увеличиваться до 100%, и сервер перестает отвечать, и его необходимо загрузить. Я хотел бы лучше разобраться в том, что происходит, но я не знаю, как определить, кто отвечает за весь этот процессор и ввод-вывод. Я использую Gentoo 2.6.18.
Вы можете попробовать сделать что-то вроде этого:
while true; do ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10 >> logfile.txt; printf "\n" >> logfile.txt; sleep 3; done
Это покажет вам первую десятку процессов с точки зрения использования ЦП. Вы можете изменить количество отображаемых процессов, заменив 10 в «head -10» на другое число, а также частоту обновления, изменив 3 в «sleep 3» или полностью исключив часть «sleep 3».
Проверьте наверху, он будет записывать двоичный журнал практически всего, что вы, возможно, захотите, а затем вы можете использовать верхнюю часть, например gui, для просмотра временных отрезков дня (по умолчанию данные принимаются каждые 5 минут). http://www.atcomputing.nl/Tools/atop/
я так думаю Мунин это один из полезных инструментов мониторинга, который поможет вам получить некоторую информацию о деятельности вашего бокса. Кроме того, есть инструмент командной строки, например сар, iostat, ps, top для такого использования.
Другие ответы только показали вам, как вы можете посмотреть, что происходит в настоящее время, что не помогает, если система была перезагружена.
Если вы хотите, чтобы эта информация записывалась для потомков (или для выставления счетов, или для любого другого использования, которое у вас также может быть), вам нужен учет процессов.
Вот HOWTO, который я нашел, но я буду честен - прошло десять лет с тех пор, как я использовал учет процессов.
Более удобный подход к решению Shawn для мониторинга почти в реальном времени:
while true; do clear; ps -eo pcpu,pmem,pid,user,args --sort=-pcpu c|head -20; sleep 1; done
Это обеспечит статическое представление 20 основных процессов, которые будут обновляться каждые 1 секунду. Параметр «c» в команде ps напечатает имя исполняемого файла процесса, а не всю команду args. Вы можете опустить эту опцию, если вместо этого вам нужна вся информация о команде. Также добавлен столбец% использования памяти.
Разве в Gentoo нет команды "top"?
machine:~/# top
должен предоставить вам статистику работы программ, вызывающих наибольшую нагрузку.