top
Интерактивный мониторинг системы и процессов. Источник — procfs. См. top(1) (procps-ng).
Load average
top - 11:51:13 up 37 min, 1 user, load average: 0.19, 0.42, 0.48
EWMA числа задач в состояниях R и D за 1, 5, 15 минут (см. loadavg(5) и kernel/sched/loadavg.c). В Linux включает uninterruptible-сон (D), поэтому отражает не только CPU, но и I/O-нагрузку.
Сравнивается с числом логических CPU (nproc):
- ≈ nproc — насыщение;
-
nproc — есть очередь;
- < nproc — запас.
Tasks
Tasks: 295 total, 1 running, 294 sleeping, 0 stopped, 0 zombie
- total — всего задач (потоков с
Hили процессов без) - running —
R - sleeping —
S+D+I - stopped —
T/t - zombie —
Z
%Cpu(s)
%Cpu(s): 0.5 us, 0.5 sy, 0.0 ni, 98.8 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
Поля из /proc/stat:
- us — user time для процессов без nice-понижения приоритета.
- sy — kernel
- ni — user time для niced-процессов с пониженным приоритетом (обычно nice > 0).
- id — idle
- wa — iowait (CPU простаивал, но была pending I/O; см. предупреждения в
proc(5)— метрика приближённая) - hi — обработка hardware IRQ
- si — обработка softirq
- st — steal: время, "украденное" гипервизором (KVM, Xen) у виртуальной машины
- gu, gn — guest/guest_nice (если показано): время на запуск гостевой ОС в KVM
Memory
MiB Mem : 15651.0 total, 2749.6 free, 6566.8 used, 7318.3 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 9081.4 avail Mem
Источник — /proc/meminfo:
- total —
MemTotal - free —
MemFree - used —
MemTotal - MemFree - Buffers - Cached - SReclaimable - buff/cache —
Buffers + Cached + SReclaimable - avail Mem —
MemAvailable(оценка ядра, сколько можно выделить без свопа) - Swap —
SwapTotal/Free/Used
Колонки таблицы
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
116317 sasha 20 0 1412.9g 700936 113408 S 10.6 4.4 24:07.45 code
- PID — process ID
- USER — effective UID name
- PR — приоритет планировщика в представлении
top. Для обычных задач обычно20 + nice; для real-time может показыватьсяrt. - NI — nice (-20…19). Меньше → выше приоритет.
- VIRT — virtual size (адресное пространство, включая mmap'ы и неиспользуемые маппинги).
- RES — resident set size (физическая RAM).
- SHR — shared memory (общие библиотеки, shm, file-backed).
- S — состояние (
R,S,D,T,t,Z,I). - %CPU —
(time-delta) / (interval × 1)по умолчанию (в Irix mode); в Solaris mode (Shift+I) делится на число CPU. - %MEM —
RES / MemTotal. - TIME+ — суммарное CPU-время с сотыми секунды.
- COMMAND —
commили argv (Shift+C).
Интерактивные клавиши
h— справка1— раскладка по CPUt,m— переключение отображения CPU/memoryShift+P,Shift+M,Shift+T— сорт по %CPU / %MEM / TIME+Shift+C— full command lineShift+H— показать потокиShift+I— Irix/Solaris modek— kill (запросит PID и сигнал)r— renicef— менеджер полей