Меня просят расследовать предупреждение о высокой загрузке ЦП, которое произошло сегодня утром. Я использовал sar -p
и увидел высокую загрузку ЦП в то время
Затем я использовал ps -eo pcpu, pid, user, args | sort -r -k1 | less
, чтобы составить список 10 основных проблем с памятью в этот час
Теперь, как мне узнать, какие процессы вызвали узкое место в это конкретное время утром. Я разработчик java, а не специалист по Linux.
Возможно ли это вообще?
Есть несколько вариантов:
atop доступен через EPEL repo для CentOS/RHEL/Fedora и через репозиторий Debian/Ubuntu по умолчанию.
Atop можно использовать как обычную утилиту для работы с топом в реальном времени, с немного другим поведением (смотрите страницу manpage для нажатия клавиш).
Самое интересное: После установки демон начинает протоколировать данные в /var/log/atop и вы можете снова читать эти файлы с помощью atop:
atop -r /var/log/atop/atop_20160128
У вас есть доступ ко всем функциям типа 'top' (сортировка/смотр использования памяти/CPU/IO и т.д.) и вы можете перепрыгнуть на 10 минут вперед по времени с помощью 't' и на 10 минут назад с помощью 'T' или перепрыгнуть в определенное время с помощью 'b'.
Посмотрите на manpage atop, и в google есть много советов на этот счет.
Может быть, есть и другие решения, но atop прост в понимании и использовании и хороший старт перед тем, как делать еще несколько индивидуальных настроек.
.