Команды для контролирования процессора и памяти в Linux?

Как системный администратор, вам часто приходится сталкиваться с инцидентом, когда приложение работает медленно или не отвечает из-за высокой загрузки ЦП, памяти или сети. Если на сервере размещен только один процесс, то легко определить, когда процесс потребляет все ресурсы. Однако представьте себе общий сервер, на котором работают несколько служб, и вам нужно найти, какой из них использует все ресурсы.

Есть много программ для мониторинга, которые делают это из коробки. Но если у вас их нет, то вот, пожалуйста.

1. top

Вы можете начать с просмотра команд top или htop, чтобы увидеть обзор процессов.

Как вы можете видеть ниже, это дает отличное представление о том, какие используются процессы.

top

Команда top установлена почти во всех дистрибутивах Linux.

2. htop

Похож на команду top, но с дополнительной информацией. Команда htop, получил командную колонку, которая удобна для определения пути процесса.

htop

3. glances

Помогает получить представление об использовании системы на одном экране. Запущенные процессы сортируются по степени загрузки процессора.

glances

4. atop

Аналогично перечисленному выше, но с отличной функцией записи выходных данных в файл, чтобы вы могли просмотреть их позже. Представьте себе, что существует определенная проблема с определенным временным окном. Вы можете запланировать запись выходных данных в файл через crontab.

Чтобы записать вывод в файл:

atop -w filename

и для воспроизведения:

atop -r filename

5. nmon

Интерактивный инструмент командной строки для мониторинга использования ЦП, памяти, дисков, сети, NFS и виртуальной памяти. Чтобы просмотреть топ процесс, вы можете выполнить команду nmon.

nmon

6. Monit

Monit - это инструмент с открытым исходным кодом для командной строки, позволяющее отслеживать ресурсы сервера, демоны, файлы, каталоги, файловые системы и т.д.

Monit

У Monit также присутствует классный виджет.

7. Monitorix

Легкая утилита с открытым исходным кодом для мониторинга сервера Linux. У Monitorix есть встроенный HTTP, чтобы вы могли проверить использование ресурсов в интернете.

Monitorix также предлагает настройку оповещений, чтобы вы могли получать уведомления, когда что-то произойдет не так. Это будет хорошим выбором, когда вы управляете облачными серверами.

8. Netdata

Netdata - это мониторинг производительности в режиме реального времени для системных ресурсов, приложений, веб-серверов, баз данных, DNS, почты, аппаратных датчиков и т.д. Это инструмент с открытым исходным кодом. Все данные собираются, хранятся и передаются для интерактивной визуализации. Данные собираются каждую секунду, поэтому вы никогда ничего не пропустите.  

Заключение

Мы надеемся, что вышеупомянутые инструменты помогут вам визуализировать использование сервера в режиме реального времени, чтобы вы могли предпринять необходимые действия. Если вы только начали знакомиться с данной ОС, советуем выучить основные команды на Linux.