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

by itisgood

Узнайте, сколько отдельный процесс или общесистемный процесс потребляют процессора или памяти.

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

Если на сервере размещен только один процесс, то легко определить, когда процесс потребляет все ресурсы.

Однако представьте себе общий сервер, на котором работают несколько служб, и вам нужно найти, какой из них использует все ресурсы.

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

Но если у вас его нет или вы ищете решение, читайте далее

top

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

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

Если вы посмотрите на первый, который является yandex-browser, занимающим 12,5% памяти и 1,1% процессора

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

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

Вы все еще можете использовать команду top, но с некоторым аргументом.

Допустим, вы знаете идентификатор процесса (PID); Вы можете использовать приведенную ниже команду.

top -p $PID

Вы также можете использовать grep с top.

Ниже приведен пример проверки использования kesl

htop

Похож на top, но с дополнительной информацией.

htop может быть не установлен по умолчанию, но вы всегда можете сделать это с помощью apt-get install htop, если используете Ubuntu.

glances

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

Запущенные процессы сортируются по загрузке процессора.

atop

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

Представьте себе, что существует определенная проблема с определенным временным окном.

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

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

atop -w filename

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

atop -r filename

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

Если вы просто заинтересованы в устранении неполадок в режиме реального времени, просто выполните команду atop, и вы должны увидеть что то похожее, как показано ниже.

ps

Давайте проверим команду ps.

Вы можете использовать команду ps с PID, чтобы вывести информацию о процессоре и использование памяти.

ps -p $PID -o %cpu,%mem

Вывод должен выглядеть следующим образом.

ps -p 1048 -o %cpu,%mem
%CPU %MEM
 0.2  3.0

nmon

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

Чтобы просмотреть топ процесс (по использованию), вы можете выполнить nmon и нажать кнопку t.

Monit

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

Monitorix

Легкая утилита с открытым исходным кодом для мониторинга сервера Linux.

Monitorix получил встроенный HTTP, чтобы вы могли проверить использование и другие вещи в Интернете.

Некоторые из других отчетов об использовании включают в себя:

  • Ядроl / температура
  • Файловая система и ввод / вывод
  • Сетевой трафик
  • Apache / Почта / FTP / Nginx / MySQL / Varnish / Memcached /

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

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

Netdata

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

Он с открытым исходным кодом и легкий для старта.

Все данные собираются, хранятся и передаются для интерактивной визуализации.

Данные собираются каждую секунду, поэтому вы никогда ничего не пропустите.

Любимый многими лидерами отрасли.

Итак, что же вы ждете, попробуйте взять под контроль свои серверы Linux.

Заключение

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

 

You may also like

Leave a Comment