Источник - http://bulkin.me/notes/661
С командой top придется столкнуться, наверно, всем, кто постигает азы администрирования линуксом. При вводе в консоли команды top, на экран выводится информативная таблица, которая обновляется каждые 2 секунды (по умолчанию, процессы сортируются по проценту использования процессорного времени). Ниже приводится описание столбцов, для чего они нужны и что показывают.
PID (process ID) — идентификатор процесса.
USER — пользователь, от которого запущен данный процесс (root – суперпользователь).
PR — текущий приоритет процесса. Чем меньше цифра, тем выше приоритет.
NI — приоритет, который можно выставить командой nice. Может быть от −20 (наивысший приоритет) до 19.
VIRT — общее количество виртуальной памяти, используемой программой (в килобайтах).
RES — текущее использование оперативной памяти.
SHR — количество разделяемой (shared) памяти программы (в килобайтах).
S— состояние процесса. Может быть:
%CPU — процент доступного времени процессора, которое использовала запущенная программа.
%MEM — процент доступной памяти, которое использовала запущенная программа.
COMMAND — название команды, под которой работает процесс.
Также, если быть внимательным, можно увидеть, что вверху таблицы есть заголовок, который содержит еще одну очень полезную информацию:
Загрузка системы (первая строка):
текущее время;
up time — время работы системы после включения питания;
user — количество пользователей, которые в данный момент работают в системе;
load average — средняя загрузка системы (минута, пять минут и пятнадцать минут назад).
Процессы (вторая строка):
total — общее количество процессов в системе;
running — количество процессов, выполняемых процессором или стоящих в очереди на выполнение;
sleeping — количество процессов, ожидающих какого-либо события ввода-вывода;
stoped — количество приостановленных процессов;
zombie — количество процессов, находящихся в состоянии «зомби».
Состояние процессора (третья строка):
us — процент использования процессорного времени программами пользователей;
sy — процент использования процессорного времени процессами ядра Linux;
ni — процент использования процессорного времени программами с измененным приоритетом;
id — простой процессора;
hi — процент времени, которое процессор тратит на обработку прерываний на уровне железа (IRQ);
si — то же, что и hi, только для софт-прерываний;
st — процент «уворованного» времени.
Использование оперативной памяти (четвертая строка):
total — общее количество оперативной памяти;
used — количество использованной оперативной памяти;
free — количество свободной оперативной памяти.
Использование swap-пространства (пятая строка):
total — общее количество swap-пространства;
used — количество использованного swap-пространства;
free — количество свободного swap-пространства.
Управлять top'ом можно, используя следующие команды:
a — переключить количество одновременно выводимых на экран окон (по умолчанию показывается одно окно);
d или s — установить значение задержки перерисовки экрана (по умолчанию 3 секунды);
l — включение/выключение поля «средняя загрузка системы» в заголовке;
t — включение/выключение полей описания процессов и загрузки процессора в заголовке;
m — включение/выключение полей, описывающих использование оперативной памяти и файла подкачки;.
b — включение процессов, выполняемых процессором (состояние Run);
c — включение/выключает отображение имени программы/полной командной строки в поле COMMAND;
i — включение отображение только процессов, выполняемым процессором, или всех процессов системы;
x — включение/выключает подсветку колонки, по которой происходит сортировка процессов;
z — включение/выключает цвет;
u — показать процессы, выполняемые определенным пользователем;
k — послать сигнал процессу;
r — изменить значение поля nice (приоритет процесса);
Пробел — заставить программу перечитать список процессов (т.е. обновить экран).
http://profhelp.com.ua/content/отличие-между-virt-res-и-shr-в-выводе-комманды-top
VIRT Virtual Image - виртуальный размер процесса. Общее количество памяти, которое способна адресовать программа в данный момент времени. VIRT = DATA + CODE + SWAP + SHR Также включает в себя страницы, которые были выделены системой, но не использованы.
RES - Resident size. Показывает сколько физической памяти использует процесс. (Соответствует колонке %MEM.) Это значение, будет меньше значения VIRT, так как большинство программ зависят от разделяемой Си библиотеки (C library).
SHR - Shared Mem size. Количество разделяемой памяти, которое используется процессом. Отображает количество памяти, которая потенциально может быть разделена с другими процессами. Shared, отображает какое количество от размера VIRT фактически разделено (памятью или библиотеками). В случае с библиотеками, это не обязательно означает, что вся библиотека резидентная. Например, если программа использует только некоторые функций библиотеки, вся библиотека будет отображаться в памяти и будет считаться в VIRT и SHR, но только части библиотеки, содержащие функции, которые используются будут загружены и считаться в RES.
SWAP - Swapped size. Память, которая не является резидентной, но доступна в текущем процессе. Это память, которая выгружена в SWAP, но может содержать дополнительную нерезидентную память. SWAP = VIRT - RES
DATA -Data+Stack size. Количество виртуальной памяти, отведенное под код, который не является исполняемым.
CODE - Code size. Количество виртуальной памяти, отведенное под исполняемый код