Top
top — консольная программа для отображения списка работающих в системе процессов и информации о них. По умолчанию сортирует процессы по загрузке процессора в режиме реального времени. Программа разработана для UNIX-подобных операционных систем и распространяется под свободной лицензией GNU FDL[1].
Утилита широко используется системными администраторами. Среди альтернатив для GNU/Linux выделяются atop и htop.
Общие сведения
| top | |
|---|---|
| Тип | системный монитор процессов |
| Операционная система | Кроссплатформенное программное обеспечение |
| Лицензия | GNU GPL |
| Сайт | procps.sourceforge.net |
Пример
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 — среднее значение использования процессора
- COMMAND — команда, запустившая процесс
Для выхода из top нажмите клавишу [q].
Полезные интерактивные команды, доступные в top:
- [1] Отобразить статистику по всем ядрам.
- [c] Показать абсолютный путь к команде и её аргументы.
- [h] Открыть справку.
- [k] Завершить процесс (предлагается ввести PID и сигнал).
- [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 — скрыть/показать строку состояния процессоров.
- m — скрыть/показать строки 4 и 5 с данными о состоянии памяти.
- -S — показать системные процессы (pager, swapper и др.).
- us — (User CPU time) время, затраченное на процессы пользователей
- sy — (System CPU time) время, затраченное на процессы ядра
- ni — (Nice CPU time) время процессов с изменённым приоритетом
- id — простой процессора
- wa — (iowait) ожидание операций ввода-вывода
- hi — (Hardware IRQ) аппаратные прерывания
- si — (Software IRQ) программные прерывания (например, сетевые)
- st — (Steal Time) время, «украденное» гипервизором у данной виртуальной машины в пользу других
История
Программа top была создана по образцу аналогичной программы для VMS. В апреле 1984 года студент университета Райса Уильям ЛеФевр написал первую такую программу для BSD 4.1, и выпустил её под лицензией BSD. Благодаря этому, top вошёл в состав множества проприетарных систем на базе BSD и UNIX.
Top неоднократно портировался под разные операционные системы и выпускался на различных условиях. В AIX 4.3 в 1999 году появился аналог под названием topas.
Первую версию top написал Роджер Биннс. В современных дистрибутивах GNU/Linux обычно используют top, написанный С. Варнером и входящий в пакет procps.
Примечания
- ↑ procps (ps, top, vmstat, pgrep, w...) (англ.). sitename. Дата обращения: 3 октября 2025. Архивировано 10 июля 2025 года.
Ссылки
- Официальный сайт (англ.). procps.sf.net. Дата обращения: 20 июня 2024.
- Руководство для top. linuxmanpages.com. Дата обращения: 20 июня 2024. Архивировано 17 марта 2008 года.
- Аналог top для BSD (англ.). unixtop.org. Дата обращения: 20 июня 2024. Архивировано 24 марта 2004 года. и руководство (англ.). unixtop.org. Дата обращения: 20 июня 2024. Архивировано 15 апреля 2008 года.