В инструкции описан процесс просмотра и управления процессами с помощью утилиты top на VPS с операционной системой Linux.
Что это такое?
top — команда, которая позволяет пользователям отслеживать процессы и использование системных ресурсов в Linux. Это один из самых полезных инструментов и он поставляется в каждом дистрибутиве. В отличие от других команд она является интерактивной, и вы можете просматривать список процессов, завершать процессы и сортировать.
Просмотр запущенных процессов
Утилита установлена по умолчанию на большинстве дистрибутивов Linux, для ее запуска в командную строку введите:
# top
После запуска в консоли появится интерактивное приложение, как на изображении ниже. Верхняя половина вывода содержит статистику по процессам и использованию ресурсов, а нижняя половина содержит список текущих запущенных процессов. Вы можете использовать клавиши со стрелками и клавиши Page Up/Down, чтобы просмотреть список. Если вы хотите выйти, просто нажмите q или Ctrl+C.
В верхнем левом углу экрана отображено текущее время — 16:10:23, за которым следует время безотказной работы системы, в нашем примере — 7 дней 14 часов 54 минуты. Далее в строке идет количество активных сеансов пользователя.
В разделе Tasks отображается статистика процессов, выполняемых в вашей системе. Далее перечислено общее количество процессов, активные, спящие, остановленные и процессы-зомби.
Раздел использования CPU показывает процентное время процессорного времени, затрачиваемого на различные задачи.
Последние 2 строки показывают информацию об использовании памяти в системе. Строки Mem и Swap отображают информацию о RAM и области подкачки соответственно. Указаны значения общего, свободного, используемого объема и кеша. Avail Mem — это объем памяти, который может быть выделен для процессов, не использую большую область диска.
Примечание: пространство подкачки является частью жесткого диска, который используется как оперативная память в случае ее нехватки.
Значение столбцов указаны в следующей таблице.
PID | Это идентификатор процесса, уникальное положительное целое число, которое идентифицирует процесс. |
USER | Это эффективное имя пользователя (соответствующее идентификатору пользователя) пользователя, который запустил этот процесс. Linux назначает реальный идентификатор пользователя и эффективный идентификатор пользователя для процессов; последний позволяет процессу действовать от имени другого пользователя. Например, пользователь, не являющийся пользователем root, может с правами root установить пакет. |
PR | Поле показывает приоритет выполнения процесса с точки зрения ядра. |
NI | Поле показывает nice-значение процесса. |
VIRT | Общий объем памяти, потребляемый процессом.Он включает в себя код программы, данные, хранящиеся в памяти, а также любые области памяти, которые были подкачены на диск. |
RES | Количество памяти, потребляемая процессом в оперативной памяти. |
SHR | Объем памяти, совместно используемый другими процессами. |
S | В этом поле отображается состояние процесса в однобуквенной форме(R — Runnable, D — Interruptible sleep, S — Uninterruptible sleep, T — Stopped, Z — Zombie). |
%CPU | Параметр выражает объем в процентах от общей доступной оперативной памяти ОЗУ. |
%MEM | Параметр выражает значение RES в процентах от общей доступной оперативной памяти. |
TIME+ | Общее время процессора, используемое процессом с момента его начала, с точностью до сотых долей секунды. |
COMMAND | Здесь отображено название процессов. |
Остановка (kill) сервисов
Если вы хотите остановить процесс, просто нажмите k, во время работы утилиты top. Эта опция вызовет подсказку, в которой будет запрашиваться идентификатор процесса, введите его и нажмите enter. В нашем примере, мы останавливаем работу текстового редактора vim.
Затем введите сигнал, с помощью которого процесс должен быть убит. Если вы оставите поле пустым, то будет использоваться SIGTERM. Если вы хотите принудительно убить процесс, вы можете ввести здесь SIGKILL. Также можно использовать номер сигнала. Например, номер для SIGTERM равен 15, а SIGKILL — 9.
Примечание: если вы оставите идентификатор процесса пустым и нажмете Enter, то завершится самый верхний процесс в списке.
Сортировка списка процессов
Одной из наиболее частых причин использования такого инструмента top является выяснение того, какой процесс потребляет большинство ресурсов. Вы можете нажать следующие клавиши, чтобы отсортировать список:
- M — для сортировки по памяти;
- P — для сортировки по использованию CPU;
- N — для сортировки по идентификатору процесса;
- T — сортировать по времени работы.
По умолчанию результаты отображаются в порядке убывания, однако вы можете отсортировать в порядке возрастания, нажав R.
Дополнительные возможности
По умолчанию top не показывает полный путь к программе и не делает различие между процессами ядра и процессами пользовательского пространства. Если вам нужна эта информация, нажмите c. Нажмите c еще раз, чтобы вернуться к отображению по умолчанию.
Иногда в процессе работы может понадобиться иерархия процессов child-parent. Вы можете раскрыть ее с помощью клавиш V во время работы top.
Чтобы вывести процессы определенного пользователя, нажмите u, затем введите имя пользователя или оставьте его пустым, чтобы отобразить процессы для всех пользователей.
Вы можете нажать t и m, чтобы изменить стиль статистики процессора и памяти.