top
top (table of processes) — консольная команда, которая выводит список работающих в системе процессов и информацию о них. По умолчанию она в реальном времени сортирует их по нагрузке на процессор. Программа написана для UNIX-совместимых операционных систем и опубликована под свободной лицензией GNU FDL.
top | |
---|---|
| |
Тип | Системный монитор процессов |
Операционная система | Кроссплатформенное программное обеспечение |
Лицензия | GNU GPL |
Сайт | procps.sourceforge.net |
Медиафайлы на Викискладе |
Программа часто используется системными администраторами. Альтернативами программе top для GNU/Linux являются утилиты atop и htop.
Пример
last pid: 34218; load averages: 0.65, 0.36, 0.29 up 0+11:38:05 16:30:36 3 processes: 1 running, 2 sleeping Mem: 82M Active, 93M Inact, 438M Wired, 112K Cache, 112M Buf, 1390M Free Swap: 2048M Total, 2048M Free PID USERNAME THR PR NICE SIZE RES STATE C TIME WCPU COMMAND 23805 root 1 106 10 6080K 3128K select 3 0:01 0.00% sshd 23806 root 1 8 10 3136K 2008K wait 2 0:00 0.00% bash 34218 root 1 106 10 2160K 1376K CPU2 0 0:00 0.00% top
Работа с программой
Программа с частотой обновления в 2с показывает текущую активность процессов в виде таблицы. Стандартные колонки:
- PID — идентификатор процесса
- USERNAME — пользователь, от которого запущен процесс
- THR — количество потоков, запущенных процессом
- PR — текущий приоритет процесса
- NICE — приоритет, выставленный командой nice. От −20 (наивысший) до 19.
- SIZE — размер процесса (данные, стек и т. д.) в килобайтах
- RES — текущее использование оперативной памяти
- STATE — текущее состояние («START», «RUN» (только в этом состоянии показывает текущую нагрузку программы на процессор), «SLEEP», «STOP», «ZOMB», «WAIT» или «LOCK»)
- C — номер процессора, на котором идет выполнение (доступен только на SMP системах)
- TIME — время использования процессора в секундах
- VIRT — полный объем виртуальной памяти, которую занимает процесс
- %CPU — процент доступного времени процессора, которое использовала запущенная программа
- %MEM — процент использования оперативной памяти данным процессом
- WCPU — усредненное значение CPU
- COMMAND — команда, запустившая процесс.
Чтобы выйти из программы top, нужно нажать клавишу [q].
Полезные интерактивные команды, которые можно использовать в top:
- [1] Отобразить всю статистику по всем ядрам.
- [c] Абсолютный путь расположения модуля команды и её аргументы.
- [h] Вывести справку о программе.
- [k] Уничтожить процесс. Программа запрашивает у вас код процесса и сигнал, который будет ему послан.
- [M] Сортировать по объёму используемой памяти.
- [n] Изменить число отображаемых процессов. Вам предлагается ввести число.
- [P] Сортировать по загрузке процессора.
- [r] Изменить приоритет процесса.
- [u] Сортировать по имени пользователя.
- [Z] Выбрать цвет подсветки.
- [z] Подсветить работающие процессы.
- [Пробел] Немедленно обновить содержимое экрана.
Сокращенный вывод:
# top -SIt last pid: 9262; load averages: 0.13, 0.40, 0.36 up 2+09:16:14 22:13:43 103 processes: 1 running, 88 sleeping, 14 waiting CPU states: % user, % nice, % system, % interrupt, % idle Mem: 31M Active, 136M Inact, 61M Wired, 3212K Cache, 34M Buf, 12M Free Swap: 1024M Total, 30M Used, 994M Free, 2% Inuse PID USERNAME THR PR NICE SIZE RES STATE TIME WCPU COMMAND 11 root 1 171 ki31 0K 8K RUN 44.7H 76.27% idle 14 root 1 -44 - 0K 8K WAIT 16:30 14.65% swi1: net 1277 verlihub 1 8 0 12916K 5780K nanslp 69:52 2.00% verlihub 1028 root 1 8 0 3104K 504K nanslp 55:25 1.42% monitord 27 root 1 -68 - 0K 8K - 187:25 0.39% dummynet
- l - спрятать / показать строку со средним значением нагрузки.
- t - спрятать / показать строку с состоянием процессоров CPU.
- m - спрятать / показать строки 4 и 5 с информацией о состоянии памяти.
- -S Показывать процессы системы. Обычно, системные процессы такие как: pager или swapper не показываются. Эта опция сделает их видимыми.
Состояния процессора
- us — (User CPU time) время, затраченное на работу программ пользователей
- sy — (System CPU time) время, затраченное на работу процессов ядра
- ni — (Nice CPU time) время, затраченное на работу программ с измененным приоритетом
- id — простой процессора
- wa — (iowait) время, затраченное на завершение ввода-вывода
- hi — (Hardware IRQ) время, затраченное на обработку hardware-прерываний
- si — (Software Interrupts) время, затраченное на работу обработку software-прерываний (network)
- st — (Steal Time) время, «украденное» гипервизором у этой виртуальной машины для других задач (например работа другой виртуальной машины)или# top -SIt
last pid: 9262; load averages: 0.13, 0.40, 0.36 up 2+09:16:14 22:13:43 103 processes: 1 running, 88 sleeping, 14 waiting CPU states: % user, % nice, % system, % interrupt, % idle Mem: 31M Active, 136M Inact, 61M Wired, 3212K Cache, 34M Buf, 12M Free Swap: 1024M Total, 30M Used, 994M Free, 2% Inuse
PID USERNAME THR PR NICE SIZE RES STATE TIME WCPU COMMAND 11 root 1 171 ki31 0K 8K RUN 44.7H 76.27% idle 14 root 1 -44 - 0K 8K WAIT 16:30 14.65% swi1: net 1277 verlihub 1 8 0 12916K 5780K nanslp 69:52 2.00% verlihub 1028 root 1 8 0 3104K 504K nanslp 55:25 1.42% monitord 27 root 1 -68 - 0K 8K - 187:25 0.39% dummynet
История
Программа top была создана по примеру программы для операционной системы VMS. Уильям ЛеФевр, будучи студентом университета Райса, написал первую аналогичную программу в апреле 1984 года для операционной системы BSD 4.1. Она была выпущена под лицензией BSD, что повлияло на то, что программа была включена во множество проприетарных операционных систем BSD и UNIX.
Top переносилась под различные операционные системы множество раз, и под разными лицензиями. Программа подобная top была представлена в операционной системе AIX 4.3 в 1999 под названием topas.
Первая программа top была написана Роджером Биннсом. В большинство современных дистрибутивов GNU/Linux включается top, написанная С. Варнером и входит в пакет procps
.