top - консольная программа для просмотра информации о запущенных процессах.
Эта программа установлена по умолчанию во многих операционных системах Linux. Но для справки укажу, что в Ubuntu она содержится в deb пакете procps.
Для просмотра информации о запущенных процессах необходимо выполнить в терминале команду:
top
Получим примерно такой вывод:
top - 12:08:46 up 5:00, 1 user, load average: 0.16, 0.20, 0.22
Tasks: 111 total, 1 running, 109 sleeping, 0 stopped, 1 zombie
Cpu(s): 13.6%us, 2.5%sy, 0.0%ni, 83.1%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1026884k total, 900712k used, 126172k free, 34308k buffers
Swap: 1464316k total, 0k used, 1464316k free, 470784k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3679 bismark 20 0 179m 27m 13m S 5.9 2.7 8:01.11 deadbeef-main
3824 root 20 0 0 0 0 S 2.0 0.0 0:00.06 flush-8:0
1 root 20 0 3532 1872 1276 S 0.0 0.2 0:00.61 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:02.65 ksoftirqd/0
6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
7 root RT 0 0 0 0 S 0.0 0.0 0:00.07 watchdog/0
8 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 cpuset
9 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
Для выхода нажать клавишу Q или Ctrl+C.
Рассмотрим значение этих данных:
Первая строка:
текущее время
время работы системы
количество открытых пользовательских сессий
load average - средняя загруженность системы (за последнюю минуту, пять минут, пятнадцать минут)
Вторая строка (Tasks):
total - количество запущенных процессов
running - количество активных процессов
sleeping - количество не активных процессов
stopped - количество остановленных процессов
zombie - количество процессов ожидающих завершение
Третья строка (Cpu):
us - процент использования процессора программами пользователей
sy - процент использования процессора системными процессами
ni - процент использования процессора процессами с с измененным приоритетом через nice
id - простой процессора
wa - процент использования процессора процессами ожидающими ввода вывода
hi - процент использования процессора обработчиками аппаратных прерываний
si - процент использования процессора обработчиками программных прерываний
st - при работе в виртуальной машине процент заимствованных ресурсов для выполнения других задач, например для запуска виртуальной машины
В сумме значения этой строки должны равняться 100%
Четвертая строка (Mem):
total - вся оперативная память
used - использовано
free - свободно
buffers - буферы
cached - кэши (находится в 5 строке, но это относится к оперативной памяти)
Пятая строка (Swap):
total - весь swap
used - использовано
free - свободно
Шестая строка (в которой пусто):
Строка сообщений и ввода данных
Седьмая строка (заголовки столбцов):
PID - идентификатор процесса
USER - пользователь запустивший процесс
PR - приоритет процесса
NI - значение NICE, влияет на приоритет процесса
VIRT - виртуальная память (память выделенная ядром процессу, но она может быть использована не вся)
RES - резидентная память (память использованная процессом, в том числе разделяемая память и swap)
SHR - разделяемая память (память которая одновременно используется несколькими процессами)
S - статус процесса
%CPU - процент использования процессора
%MEM - процент использования оперативной памяти
TIME+ - время работы процесса
COMMAND - название программы/команда запустившая процесс
Горячие клавиши:
k - убить процесс, нужно будет затем указать PID и нажать энтер пару раз
Enter или пробел - обновить информацию
h - вызов справки
Shift+W - сохранить настройки в конфигурационный файл
Сортировка:
Shift+M - сортировка по колонке %MEM
Shift+N - сортировка по колонке PID
Shift+P - сортировка по колонке %CPU
Shift+T - сортировка по колонке TIME+
Shift+R - обратная сортировка по выбранной колонке
Shift+F или Shift+O - настройка сортировки, нажмите букву указанную возле названия колонки
Внешний вид:
l - скрыть строку с load average
m - скрыть строки с информацией о памяти
t - скрыть строки с информацией о процессоре
1 (это цифра) - общая статистика по процессорам или отдельно информация по каждому процессору
с - показать команду вместо названия программы
f - выбор отображаемых колонок, нажмите букву указанную возле названия колонки
o - перемещение колонок, нажимайте букву колонки для перемещения вправо или Shift+буква колонки для перемещения влево
x - выделить колонку по которой сделана сортировка
y - выделить строку с активными процессами
b - жирное выделение для x или y
z - включить/отключить цветное отображение
Shift+Z - настройка цветового отображения, вверху показан предпросмотр выбранных цветов, ниже сам выбор, подробнее смотрите ниже
Цвета можно выбрать для каждого блока отдельно, то есть выбираем блок и указываем цвет, затем выбираем следующий блок и цвет и т.д.
Клавиши для выбора блоков:
Shift+S - блок общей информации (1-5 строка)
Shift+M - строка сообщений
Shift+H - названия колонок
Shift+T - информация о процессах
Клавиши для выбора цвета:
0 - черный
1 - красный
2 - зеленый
3 - желтый
4 - синий
5 - пурпурный
6 - голубой
7 - белый
Или можно выбрать уже настроенные профили:
a или w - выбор профилей в которых настроены цвета и колонки
q - отмена изменений
Enter - применить изменения и закрыть настройку цветового отображения
Параметры запуска программы:
-b режим для выгрузки в текстовый файл, например:
выгрузить информацию по всем процессам в текстовый файл: top -b -n 1 >top.txt
выгрузить информацию по одному процессу в текстовый файл: top -b -n 1 -p 1 >top.txt
-d интервал обновления информации указывается секунды и доли секунд, пример: top -d 3.25
-n количество обновлений информации, пример: top -n 1
-u показать процессы одного пользователя, например:
показать процессы с указанием имени вашего пользователя: top -u user
показать процессы пользователя root: top -u root
-p показать информацию по указанным PID (идентификаторам процессов), пример: top -p 1,2,3
Также смотрите руководство к программе: man top
Дополнительно:
Использованная оперативная память показана в колонке RES (резидентная память).
Но стоит учитывать что top и gnome-system-monitor считают по разному использованную память у одного процесса, а сумму использованной всеми процессами памяти считают одинаково.
top складывает неразделяемую память и разделяемую память, которые использует процесс (не учитывает, что разделяемую память используют несколько процессов, поэтому одна и та же память плюсуется к нескольким процессам)
gnome-system-monitor складывает неразделяемую память и часть от разделяемой (разделяемую память используют несколько процессов одновременно, поэтому программа ее делит пропорционально между процессами использующими ее)
Раз неразделяемую они считаю одинаково, а разделяемая память в gnome-system-monitor после распределения у каждого процесса составляет небольшой объем, делаем вывод:
Разница значений top RES - SHR примерно равна значению использованной памяти в gnome-system-monitor, но это сработает не для всех процессов (у некоторых процессов разделяемая память занимает большой размер).