Что показывает команда TOP

Расшифровка вывода команды top, например:

top - 10:12:16 up 1 day, 57 min,  3 users,  load average: 0.48, 0.94, 1.19
Tasks: 225 total,   1 running, 224 sleeping,   0 stopped,   0 zombie
Cpu(s):  1.1%us,  0.7%sy,  0.0%ni, 97.9%id,  0.2%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:  16466952k total,  6696972k used,  9769980k free,    39484k buffers
Swap: 33554428k total,    45812k used, 33508616k free,  4965696k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+ COMMAND
1621 apache    20   0  488m  22m 6088 S  2.0  0.1   1:01.41 httpd
3534 apache    20   0  486m  22m 4916 S  1.7  0.1   1:02.16 httpd
1542 postgres  20   0  156m  612  352 S  0.3  0.0   0:06.92 postmaster
Tasks: 225 total,   1 running, 224 sleeping,   0 stopped,   0 zombie

Данная строка показывает общее количество процессов, сколько из них запущено, сколько находится в спящем режиме, сколько процессов остановлено, а также количество зомби процессов — процессы, которые закончили свое выполнение, имеется ошибка в работе процессов.

Cpu(s):  1.1%us,  0.7%sy,  0.0%ni, 97.9%id,  0.2%wa,  0.0%hi,  0.2%si,  0.0%st

Данная строка рассказывает нам о состоянии процессора, на что затрачено 100% процессорного времени.

  • us -(%) действия в пользовательском пространстве;
  • sy — (%)затраченного на действия в пространстве ядра;
  • ni — (%) затраченного на процессы с низким приоритетом
  • id — процент (%) затраченного на простаивание — какое количество времени процессор делает ничего
  • wa — процент (%) затраченного на ожидание дисковых операций.
  • hi — процент (%) процессорного времени, затраченного на обработку аппаратных прерываний;
  • si — процент (%) процессорного времени, затраченного на обработку прерываний ПО;
  • st — время в вынужденном ожидании виртуального CPU, пока гипервизор обслуживает другой процессор.
Mem:  16466952k total,  6696972k used,  9769980k free,    39484k buffers

Эта строка в блок посвященный оперативной памяти. Информация о памяти: total — всего памяти; free — доступно незамедлительно; used — используется в данный момент; buff/cache — сумма буферов и кэша (фактически это можно считать доступной свободной памятью, так как чаще всего эта величина содержит в себе счётчик памяти, требуемой для информации, которая уже записана на диск или скоро будет записана.

Swap: 33554428k total,    45812k used, 33508616k free,  4965696k cached

Информация о свап-памяти: всего, свободно, использовано, доступно.

Также информацию о доступной ОЗУ покажет free.

Загрузка системы

Загрузка системы

top - 10:12:16 up 1 day, 57 min,  3 users,  load average: 0.48, 0.94, 1.19
  • текущее время;
  • up time — время работы системы после включения питания;
  • user — количество пользователей, которые в данный момент работают в системе;
  • load average — общая средняя загрузка системы (измеряется каждые 1, 5 и 15 минут). Общей средней загрузкой системы называется среднее число процессов, находящихся в состоянии выполнения (R) или в состоянии ожидания (D), эту информацию можно увидеть в колонке S вывода команды top, она может принимать 5 значений: ‘D’ = uninterruptible sleep (состояние ожидания) ‘R’ = running (состояние выполнения) ‘S’ = sleeping ‘T’ = traced or stopped ‘Z’ = zombie

Состояния процессов

Состояния процессов

Tasks: 225 total,   1 running, 224 sleeping,   0 stopped,   0 zombie
  • total — общее количество процессов в системе;
  • running — количество процессов, выполняемых процессором или стоящих в очереди на выполнение;
  • sleeping — количество процессов, ожидающих какого-либо события ввода-вывода;
  • stoped — количество приостановленных процессов;
  • zombie — количество процессов, находящихся в состоянии «зомби».

Состояния процессора (ЦП)

Состояния процессора (ЦП).

Cpu(s):  1.1%us,  0.7%sy,  0.0%ni, 97.9%id,  0.2%wa,  0.0%hi,  0.2%si,  0.0%st
  • us — (User CPU time) процент использования процессорного времени программами пользователей;
  • sy — (System CPU time) процент использования процессорного времени процессами ядра Linux;
  • ni — (Nice CPU time) процент использования процессорного времени программами с измененным приоритетом;
  • id — простой процессора
  • wa — (iowait) время, затраченное на завершение ввода/вывода (IO)
  • hi — (Hardware IRQ) процент времени, которое процессор тратит на обработку прерываний на уровне оборудования (hardware- прерываний).
  • si — (Software Interrupts) процент времени, затраченное на работу обработку software- прерываний (network)
  • st — (Steal Time) время, «украденное» гипервизором у этой виртуальной машины для других задач (например работа другой виртуальной машины)

Состояние оперативной памяти (ОЗУ)

Состояние оперативной памяти (ОЗУ). Top показывает, что на компьютере установлено 16GB ОЗУ.

Mem:  16466952k total,  6696972k used,  9769980k free,    39484k buffers
  • total — общее количество оперативной памяти (16466952k / 1024 = 16081MB (мегабайт) = 16GB);
  • used — количество использованной оперативной памяти (6540MB);
  • free — количество свободной оперативной памяти (9540MB);
  • buffers — (38MB).

top показывает объем занятой памяти вместе с кэш. htop выдает объём реально занятой памяти без кэша. Для проверки достоверности данных можно использовать утилиту free, которая покажет сколько занято памяти с кэш и без.

Состояние Swap

Использование Swap- раздела:

Swap: 33554428k total,    45812k used, 33508616k free,  4965696k cached
  • total — общее количество swap- раздела (33554428k / 1024 = 32767 MB);
  • used — количество использованного swap- раздела (45812k = 44 MB);
  • free — количество свободного swap- раздела.

Расшифровка столбцов

  • PID
  • USER
  • PR
  • NI
  • VIRT — (kb — килобайты). Общее количество виртуальной памяти, используемой программой. VIRT = SWAP + RES.
  • RES — (kb). Количество резидентной (не перемещаемой в swap) памяти. RES = CODE + DATA.
  • SHR — (kb). Количество разделяемой (shared) памяти программы.
  • S — статус процесса.
  • %CPU
  • %MEM
  • TIME+
  • COMMAND