- Информация о процессах в Linux. Команда Top
- Синтаксис
- Выводимые данные
- Остановка процесса
- Изменение приоритета процесса
- Изменение интервала обновления
- Вывод процессов заданного пользователя
- Отображение абсолютных путей команд
- Сортировка вывода
- Цветовое выделение запущенных процессов
- Выход после заданного числа обновлений
- Сохранение результатов в файл
- Заключение
- Команда top в Linux
- Запуск команды top и расшифровка таблицы
- Расшифровка данных перед таблицей
- Добавление столбцов и сортировка таблицы top
- Использование команды top в ОС Linux
- Введение
- Работа с командой top
- Использование top в фоновом режиме
- Параметры команды top
- Отображение текущей версии
- Определение задержки между обновлениями экрана
- Получение списка столбцов, поддерживающих сортировку
- Сортировка вывода команды top по имени столбца
- Отображение процессов определённого пользователя
- Отображение дополнительных столбцов в таблице top
- Переключение режимов
- Смена цветов
- Резюме
Информация о процессах в Linux. Команда Top
При работе в интерфейсе командной строки Linux часто требуется информация о процессах, например, какая программа потребляет больше всего ресурсов процессора или памяти. Для этого есть специальная команда — top. В данном руководстве мы разберем, как она работает, на нескольких простых и понятных примерах..
Синтаксис
Команда top выводит краткие данные о системе и список процессов, обрабатываемых ядром Linux, а также связанную с ними полезную информацию. Ее синтаксис следующий:
Информация динамически обновляется в реальном времени. Конкретные отображаемые данные для информации о системе и процессах пользователь может настроить сам и сохранить для последующих запусков. Команда предоставляет интерактивный интерфейс для работы с процессами и индивидуальной настройки.
Использование top
Пользоваться top очень легко. Достаточно просто выполнить команду top без опций:
Результат был следующим:
Стоит заметить, что на скриншоте мы видим фиксированный в конкретный момент времени образ результата, который динамически изменяется через заданный интервал.
Выводимые данные
Начнем с первой строки. В ней содержатся (именно в этом порядке) записи о текущем времени, времени работы системы с последнего запуска, активных сеансах пользователей и средней загрузке системы (за последнюю минуту, пять минут и пятнадцать минут, соответственно).
Вторая строка содержит информацию об общем количестве процессов, количестве запущенных, спящих, остановленных и «зомби»-процессов.
В третьей строке содержится информация об использовании времени центрального процессора (в процентах). Вот что означают указанные в ней значения:
us, user : время работы с пользовательскими процессами без явного приоритета планирования (приоритет по умолчанию не менялся при помощи команды nice)
sy, system : время работы с процессами ядра (системными)
ni, nice : время работы с пользовательскими процессами, приоритет которых был назначен при помощи nice
id, idle : время, затраченное обработчиком простоя ядра
wa, IO-wait : время ожидания завершения ввода/вывода
hi : время обработки аппаратных прерываний
si : время обработки программных прерываний
st : время, использованное гипервизором, ожидание виртуальной машиной ответа физического процессора.
Две последующие строки показывают информацию об использовании оперативной памяти и свопа. Далее, наконец, выводится информация о процессах (в указанном порядке): идентификатор
PID- идентификатор
USER— владелец
PR-приоритет
NI-значение nice,
VIRT-объем используемой виртуальной памяти
RES-объем используемой физической памяти
SHR-объем используемой разделяемойпамяти
S-статус процесса (S — спящий, R — запущенный, Z — «зомби»),
%CPU— использование процессора
%MEM-использование ОЗУ
TIME-время активности
COMMAND-инициировавшая процесс команда.
Остановка процесса
Выполнить это действие довольно просто — нажмите “k”, и программа запросит идентификатор процесса, который вам нужно остановить. Прямо над таблицей с информацией о процессах вы увидите сообщение следующего вида:
Таким образом, вы можете ввести идентификатор программы, либо по умолчанию top попытается остановить первый процесс в списке, отправив сигнал SIGTERM. После отправки сигнала появится сообщение вида:
Здесь мы остановили программу с PID 109
Изменение приоритета процесса
Если вам требуется изменить приоритет программы, нажмите ‘r’. Вы увидите вот такое сообщение:
Аналогично предыдущему примеру, можно ввести PID или по умолчанию изменить приоритет первого процесса в списке. Программа запросит новое значение приоритета (nice):
Введите значение и нажмите Enter. Значение приоритета заданного процесса будет изменено.
Изменение интервала обновления
По умолчанию результат top обновляется каждые 3 секунды, но этот интервал можно изменить, нажав ‘d’. Команда запросит новое значение:
Введите его и нажмите Enter.
Вывод процессов заданного пользователя
Команда top по умолчанию отображает все процессы, но вы можете ограничить выводимые результаты процессами конкретного пользователя. Для этого нужно нажать ‘u’. Вы увидите сообщение следующего вида:
Введите имя интересующего пользователя, нажмите Enter, и вы увидите только те процессы, владельцем которых является данный пользователь.
Например, если ввести ‘root’, результат будет иметь следующий вид:
Также можно воспользоваться опцией командной строки -u и указать нужного пользователя сразу при запуске команды:
Отображение абсолютных путей команд
Чтобы полностью увидеть команды, которые были инициаторами процессов, со всеми опциями командной строки и аргументами, нужно нажать ‘c’:
Вы увидите абсолютные пути команд, а также все опции и аргументы.
Сортировка вывода
Для сортировки отображения во время работы команды top введите одно из значений
- [M] Сортировать по объёму используемой памяти.
- [P] Отсортировать по загрузке процессора.
- [u] Сортировать по имени пользователя.
Например сортировка по использованию объема памяти выглядит так
Цветовое выделение запущенных процессов
Чтобы выделить запущенные процессы другим цветом, нажмите клавишу ‘z’. Это поможет вам легче выявлять такие процессы.
Выход после заданного числа обновлений
По умолчанию top обновляет выводимые данные до нажатия ‘q’ (выход из программы). Опция -n при запуске позволяет указать необходимое количество обновлений, после которых выход произойдет автоматически. Например, следующая команда выполнит 10 обновлений:
Сохранение результатов в файл
Для сохранения выводимых командой top результатов в файл выполните следующую команду. Опция -b активирует “пакетный” режим: top не будет принимать входных команд, выполнив заданное опцией -n количество обновлений.
Получение помощи и выход из программы
Для получения помощи о команде top нажмите ‘h‘:
Чтобы выйти из программы, как уже упоминалось, нажмите ‘q’.
Заключение
Команда top — инструмент с очень широким функционалом, но полное его рассмотрение выходит за рамки данного руководства. Освоив разобранные в данной статье базовые функции, вы можете обратиться к man-странице команды для расширения своих знаний.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Команда top в Linux
Любой сервер, каким бы мощным он ни был, имеет ограниченный объем ресурсов. Каждая программа, работающая в активном или фоновом режиме, использует определенное количество виртуальной и физической памяти, процессорного времени и т.д. Иными словами, создает определенную нагрузку на сервер. Чтобы посмотреть, насколько система загружена в данный момент времени, используют консольную команду top.
Команда top в Linux системах позволяет вывести в виде таблицы перечень запущенных процессов и оценить, какой объем ресурсов они потребляют, т.е., какую нагрузку создают на сервер и дисковую подсистему. Такая информация помогает в дальнейшем оптимизировать работу системы.
Запуск команды top и расшифровка таблицы
Подключитесь к серверу по SSH и введите в консоли top — Enter и вы увидите таблицу, в которой выведен список запущенных процессов. Изначально перечень составлен в порядке убывания нагрузки, приходящейся на процессор.
О том, как сортировать данные по критерию, который нужен вам, поговорим дальше. А сейчас давайте рассмотрим, как расшифровать столбцы в таблице и о чем свидетельствуют значения в каждом из них.
Первые два столбика — номер процесса (PID) и имя пользователя, его запустившего (USER).
Следующие 2 столбца показывают, какой приоритет имеет процесс в данный момент (PR) и приоритет, присвоенный ему командой NICE (NI).
Информация, содержащаяся в других колонках, характеризует непосредственно уровень потребления ресурсов. Расшифровываются они следующим образом:
**VIRT — виртуальная память, которую использует процесс
**RES — физическая память, занятая данным процессом
**SHR — общий объем памяти, которую данный процесс делит с другими
**S — текущий статус процесса: R — running; S — sleeping, Z — zombie
**%CPU — процент используемого времени центрального процессора
**%MEM — процент ОЗУ, используемой процессом
**TIME+ — продолжительность работы процесса с момента запуска
**COMMAND — название команды (программы), которая инициировала процесс.
Расшифровка данных перед таблицей
Полезная информация об использовании ресурсов содержится не только в самой таблице, но и в пяти строках, которые ей предшествуют. Они являются своего рода summary по всем процессам.
Первая строчка (top) дает нам общее представление о загрузке системы. Здесь указано:
** текущее время
** up — продолжительность работы системы с момента запуска
** user — текущее количество пользователей системы
** load average — средняя загруженность системы одну минуту назад, пять и 15 соответственно.
Считается, что в норме данный показатель не должен превышать 1 для одноядерных процессоров. Соответственно, значение load average, равное количеству ядер, является предельным.
Вторая строка данных дает информацию об общем количестве процессов в системе, а также об их статусе: выполняемые (running), в ожидании (sleeping), приостановленные (stopped), zombie.
Далее идет информация о состоянии процессора (%Cpu), ОЗУ (Mem), SWAP.
Добавление столбцов и сортировка таблицы top
Теперь вы знаете, какая информация зашифрована в каждом столбце таблицы top. Как было отмечено в начале, базовая сортировка данных осуществляется по уровню использования времени ЦПУ, оно же %CPU. Чтобы выполнить в top сортировку по памяти (%MEM), достаточно ввести Shift+M в режиме работы команды top. Если интересует, какой из процессов дольше всего работает, нажмите Shift+T, и увидите интересующую информацию в колонке TIME+. Можно отсортировать процессы по их номеру (PID), набрав на клавиатуре Shift+N.
Чтобы вернуться к режиму сортировки по уровню потребления ресурсов процессора, воспользуйтесь комбинацией Shift+P.
Далеко не все способы сортировки можно задать с помощью «горячих клавиш». Например, для определения процессов, которые больше всего потребляют SWAP, используйте меню выбора полей, которое вызывается комбинацией Shift+F.
С помощью клавиш навигации находим SWAP (или любой другой нужный параметр), клавишей «d» закрепляем его добавление в общую таблицу команды top (в качестве подтверждения вашего выбора рядом появится символ «*»). Чтобы задать сортировку по SWAP, здесь же нажимаем «s» и выходим из меню (ESC). Готово!
Убедиться, что сортировка работает по заданному признаку, можно нажав «x». Колонка с соответствующим признаком будет подсвечена (выделена жирным шрифтом).
Теперь вы не только знаете, как расшифровать содержащуюся в таблице информацию, но и умеете добавлять в нее необходимые параметры, работать с фильтрами. Благодаря команде top вы легко найдете процессы, которые потребляют наибольшее количество ресурсов и/или работают без надобности.
Теперь оптимизировать работу сервера гораздо проще!
Источник
Использование команды top в ОС Linux
Введение
Команда top используется в операционной системе Linux для отображения всех активных процессов внутри неё. Данная статья рассказывает о работе с командой top, предоставляя обзор её параметров и отображаемой информации.
Работа с командой top
В простейшем случае, для того, чтобы отобразить активные процессы, нужно просто ввести в терминале Linux следующее:
При этом отображается следующая информация:
В первой строке отображается:
- Время
- Время работы компьютера
- Число пользователей
- Средняя нагрузка (за последний час, полчаса и 15 минут)
Во второй строке отображается:
- Общее число задач
- Количество активных задач
- Количество отложенных задач
- Количество приостановленных задач
- Количество задач-зомби
В третьей строке в процентах отображается:
- Загрузка ЦП задачами пользователя
- Загрузка ЦП системой
- Загрузка ЦП процессами с низким приоритетом
- Время бездействия ЦП
- Загрузка ЦП операциями ввода/вывода
- Загрузка ЦП обработкой аппаратных прерываний
- Загрузка ЦП обработкой программных прерываний
- Время, “украденное” гипервизором
В третьей строке отображается:
- Общий объём доступной системе памяти
- Объём свободной памяти
- Объём используемой памяти
- Объём буферного кэша
В четвёртой строке показан:
- Общий объём SWAP (раздела подкачки)
- Объём свободной памяти в SWAP
- Объём использованной памяти в SWAP
- Объём доступной памяти.
В основной таблице отображается:
- ID процесса
- Уровень пользовательского приоритета
- Уровень “вежливости”
- Объём виртуальной памяти, используемой процессом
- Объем физической памяти, используемый процессом
- Объём совместно используемой памяти
- Коэффициент загрузки ЦП процессом, %
- Коэффициент загрузки памяти процессом, %
- Время работы процесса
- Команда
Использование top в фоновом режиме
Получить доступ к команде top и при этом не вводить её каждый раз в терминал весьма просто.
Для того, чтобы приостановить top и продолжить пользоваться терминалом, достаточно нажать Ctrl+Z.
Вернуть top на первый план можно командой fg.
Параметры команды top
-h – отображает текущую версию
-c – переключает столбец command между отображением команды и имени программы
-d – устанавливает задержку между обновлениями экрана
-o – выполняет сортировку по имени
-p – показывает только процессы с заданными ID
-u – показывает только процессы определенного пользователя
Отображение текущей версии
Для того, чтобы получить информацию о версии top, введите следующее:
Вывод при этом имеет следующий вид:
Определение задержки между обновлениями экрана
Для того чтобы задать задержку между обновления экрана во время использования top, наберите следующее:
Например, чтобы обновлять содержимое каждые 5 секунд, введите top -d 5
Получение списка столбцов, поддерживающих сортировку
Для того чтобы получить список столбцов, по которым можно выполнить сортировку, введите следующее:
Команда top выводит множество столбцов, и вы, вероятно, захотите перенаправить вывод и отобразить его при помощи less. Для этого введите:
Сортировка вывода команды top по имени столбца
Чтобы выбрать столбец, по которому можно выполнить сортировку, воспользуйтесь алгоритмом из предыдущего раздела, затем выполните сортировку используя следующий синтаксис:
Например, сортировку по столбцу %CPU можно выполнить при помощи этой команды:
Отображение процессов определённого пользователя
Для того чтобы показать процессы, запущенные определённым пользователем, используйте команду следующего вида:
Например, для того, чтобы отобразить все процессы пользователя gary, введите следующее:
Отображение дополнительных столбцов в таблице top
Во время работы top нажмите клавишу “F” чтобы увидеть список полей, которые можно отобразить в таблице.
Навигация по списку полей осуществляется с помощью клавиш-стрелок.
Чтобы отобразить определённое поле, нажмите клавишу “D”. Чтобы скрыть поле, нажмите “D” ещё раз. Рядом с отображаемыми полями появляется символ звёздочка (*).
Вы можете активировать сортировку таблицы по определенному параметру, просто выделив его и нажав клавишу “S”.
Для того, чтобы изменения вступили в силу, нажмите клавишу “Enter”. Выйти из меню можно при помощи клавиши “Q”.
Переключение режимов
Во время работы top вы можете нажать клавишу “A”, чтобы переходить между стандартным и альтернативным представлением.
Смена цветов
Для того, чтобы изменить цвет значений, отображаемых в top, нажмите клавишу “Z”.
Смена цвета осуществляется в три стадии:
- Нажмите “S” для того, чтобы изменить цвет общих данных, “M” – сообщений, “H” – заголовков столбцов, “T” – информации о задачах.
- Выберите желаемый цвет для выбранного участка. 0 – черный, 1 – красный, 2 – зеленый, 3 – желтый, 4 – синий, 5 – пурпурный, 6 – голубой, 7 – белый.
- Подтвердите свой выбор нажатием клавиши “Enter”. С помощью клавиши “B” можно применить полужирное начертание текста.
Резюме
Команда top имеет множество параметров, для более подробной справки введите в терминале следующую команду:
Источник