top

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

top
Скриншот программы top
вывод top в терминале
Тип Системный монитор процессов
Операционная система Кроссплатформенное программное обеспечение
Лицензия GNU GPL
Сайт procps.sourceforge.net
Логотип Викисклада Медиафайлы на Викискладе

top (table of processes) — консольная команда, которая выводит список работающих в системе процессов и информацию о них. По умолчанию она в реальном времени сортирует их по нагрузке на процессор. Программа написана для UNIX-совместимых операционных систем и опубликована под свободной лицензией GNU FDL.

Программа часто используется системными администраторами. Альтернативами программе 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.