Про команду top
Источник - http://bulkin.me/notes/661
С командой top придется столкнуться, наверно, всем, кто постигает азы администрирования линуксом. При вводе в консоли команды top, на экран выводится информативная таблица, которая обновляется каждые 2 секунды (по умолчанию, процессы сортируются по проценту использования процессорного времени). Ниже приводится описание столбцов, для чего они нужны и что показывают.
- PID (process ID) — идентификатор процесса.
- USER — пользователь, от которого запущен данный процесс (root – суперпользователь).
- PR — текущий приоритет процесса. Чем меньше цифра, тем выше приоритет.
- NI — приоритет, который можно выставить командой nice. Может быть от −20 (наивысший приоритет) до 19.
- VIRT — общее количество виртуальной памяти, используемой программой (в килобайтах).
- RES — текущее использование оперативной памяти.
- SHR — количество разделяемой (shared) памяти программы (в килобайтах).
- S— состояние процесса. Может быть:
- D — состояние ожидания;
- R — процесс выполняется процессором или стоит в очереди на выполнение;
- S — состояние «сна»;
- T — выполнение процесса приостановлено;
- Z — состояние «зомби».
- %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 (приоритет процесса);
- Пробел — заставить программу перечитать список процессов (т.е. обновить экран).
Отличие между VIRT, RES и SHR столбцами
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. Количество виртуальной памяти, отведенное под исполняемый код
Обсуждение