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

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

См. также htop atop Conky

Ссылки Официальный сайт Руководство для top Аналог top для BSD и руководство

Категория:Утилиты Unix Категория:Менеджеры задач