Решение практически любой компьютерной проблемы начинается с получения информации о реальной работе программного и аппаратного обеспечения. Поэтому, один из главных инструментов любого системного администратора — приложение для мониторинга. Разумеется, Linux — не исключение. В состав любого дистрибутива входит минимум одно решение, позволяющее быстро получить необходимые данные.
Наиболее популярные и мощные — это консольные приложения, которые традиционно предпочитают администраторы Linux-систем. Вот наиболее интересные из них.
Top
Top — консольная команда, которая возвращает список запущенных процессов и информацию о них. Программа входит в состав большинства дистрибутивов по умолчанию.
Полезная информация содержится уже в первой строчке. Там отображаются текущее время, время работы системы, количество открытых пользовательских сессий и средняя загрузка (показаны значения в последние одну, пять и пятнадцать минут).
Во второй строке пользователь сможет увидеть данные о общем числе процессов, в том числе и работающих в данный момент, количестве ожидающих событий и остановленных процессов, а также о том, сколько процессов находится в состоянии ожидания статуса завершения от родительского. Это позволит быстро составить общее представление о текущем состоянии системы.
Следующие строки — статистика загрузки центрального процессора и использования памяти. Информация даётся достаточно полная, причём для наглядности в графическом представлении.
Данные, представленные в подробном списке процессов, также вполне достаточны для диагностики системы: имя владельца, приоритет, используемый объём виртуальной и физической памяти, процент использования ресурсов центрального процессора и т. д. Причём некоторые задачи можно решать средствами самой программы.
Например, для закрытия какого-либо процесса следует нажать на клавишу «k», после чего ввести идентификатор процесса. Если права пользователя позволяют выполнение этой операции, то процесс будет уничтожен.
Htop
Htop — аналог Top, представляющий пользователю более наглядную информацию. Эта программа задумывалась как замена Top, но сложилось так, что эти решения существуют вместе, порой прекрасно уживаясь в одной системе.
Основная особенность Htop — понятная шкала использования ресурсов процессора, памяти и swap-раздела. Она позволяет практически мгновенно оценить нагрузку на эти составляющие системы, а при необходимости получить точные данные достаточно посмотреть немного правее и увидеть их в численном представлении.
Управление процессами облегчает меню в стиле Midnight Commander. Например, для настройки программы следует нажать на F2, поиск выполняется по F3, приоритет процесса меняется по F7/F8 и т. д. Всё интуитивно понятно, для решения несложных задач можно даже обойтись без чтения документации.
Atop
Atop — программа, чем-то похожая на Top. Но это приложение выводит только новые изменения в активных процессах. Ещё одна полезная особенность решения — возможность сохранять полученные данные в файл собственного формата, причём промежутки записи могут настраиваться.
Как и в Top, экран отображения информации разделён на две части. В «общем разделе» размещены данные не только по загрузке процессора и памяти, но и по сети и дисковой подсистеме. Таким образом, использование Atop позволяет получить несколько более полную картину, если это необходимо.
Вторая часть вывода программы практически идентична тому, что показывает Top. Проблемные процессы будут подсвечены, что позволяет быстро их обнаружить и принять необходимые меры.
Glances
Glances — кроссплатформенное приложение, написанное на языке Python с использованием библиотеки psutil, позволяющее получать информацию о запущенных процессах и использовании системных ресурсов. По умолчанию данные обновляются каждую секунду, но при необходимости пользователь может задать собственный интервал.
Приложение отображает общее число процессов, использование памяти и swap-раздела, информацию о сетевой активности, данные о заполнении смонтированных разделов и т. д. При этом строки окрашиваются в различные цвета. Красный обозначает критическое состояние, сиреневый — предупреждение о возможном переходе в критическое состояние, синий — небольшое превышение нормы, зелёный — работу в штатном режиме.
Таким образом, пользователь сможет быстро обнаружить источник проблем и принять необходимые меры. Тем самым минимизируется время работы системы в «критическом» режиме.