top — утилита для просмотра активности процессов в реальном времени

Команда top выводит список работающих в системе процессов и информации о них то есть непрерывно показывает состояние самых активных процессов. Администраторы часто запускают эту или подобную утилиту при первых признаках возникновения проблем. Экран автоматически обновляется каждые несколько секунд. В первых строках печатается общая информация о системе а ниже — список процессов упорядоченный по убыванию потребляемого процессорного времени (самый «жадный» процесс оказывается наверху).


# top

top - 10:52:27 up 19:50  1 user  load average: 0.00 0.02 0.00Tasks: 143 total   2 running 141 sleeping   0 stopped   0 zombieCpu0  :  0.0%us  0.8%sy  1.5%ni 97.7%id  0.0%wa  0.0%hi  0.0%si  0.0%stCpu1  :  0.0%us  0.0%sy  0.0%ni100.0%id  0.0%wa  0.0%hi  0.0%si  0.0%stMem:   8175556k total  2699772k used  5475784k free   158884k buffersSwap: 10482404k total        0k used 10482404k free   821396k cached  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND 4226 weblogic  21   0  322m 116m 2872 S  0.8  1.5   2:55.44 java    1 root      15   0 10348  696  584 S  0.0  0.0   0:00.64 init    2 root      RT  -5     0    0    0 S  0.0  0.0   0:00.01 migration/0    3 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0    5 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/1    6 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/1    7 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/1    8 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 events/0    9 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 events/1   10 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 khelper   83 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kthread   89 root      10  -5     0    0    0 S  0.0  0.0   0:00.21 kblockd/0   90 root      10  -5     0    0    0 S  0.0  0.0   0:00.34 kblockd/1   91 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kacpid  178 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 cqueue/0

Программа с частотой обновления в 2с показывает текущую активность процессов в виде таблицы. Стандартные колонки:

  • PID — Идентификатор процесса
  • USER — имя пользователя владельца процесса
  • PRI — приоритет процесса
  • NI — nice уровень процесса
  • SIZE — объём виртуальной памяти занятой процессом (Кб)
  • RSS — объём ОЗУ занятый процессом (Кб)
  • SHARE — объём памяти разделённой с другими процессами (Кб)
  • STAT — состояние процесса
  • %CPU — доля времени процессора использованная процессом
  • %MEM — доля ОЗУ использованная процессом
  • TIME — полное время процессора потраченное на исполнение процесса с момента старта последнего
  • COMMAND — командная строка которой был запущен процесс включая параметры

Чтобы выйти из программы top нужно нажать клавишу [q].

Полезные интерактивные команды которые можно использовать в top:

  • [Пробел] Немедленно обновить содержимое экрана.
  • [h] Вывести справку о программе.
  • [k] Уничтожить процесс. Программа запрашивает у вас код процесса и сигнал который будет ему послан.
  • [n] Изменить число отображаемых процессов. Вам предлагается ввести число.
  • [u] Сортировать по имени пользователя.
  • [M] Сортировать по объёму используемой памяти.
  • [P] Сортировать по загрузке процессора.

Сокращенный вывод:

# top -SIt

last pid:  9262;  load averages:  0.13  0.40  0.36              up 2+09:16:14  22:13:43103 processes: 1 running 88 sleeping 14 waitingCPU states:     % user     % nice     % system     % interrupt     % idleMem: 31M Active 136M Inact 61M Wired 3212K Cache 34M Buf 12M FreeSwap: 1024M Total 30M Used 994M Free 2% Inuse  PID USERNAME  THR PRI 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
  • -t Не показывать процесс top
  • -I Не показывать idle процессы. По умолчанию top показывать оба активные и idle процессы.
  • -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) время «украденное» гипервизором у этой виртуальной машины для других задач (например работа другой виртуальной машины)

Оригинал статьи http://pingvinoff.net/2009/01/01/komanda-top/

0 комментариев

Оставить комментарий