Linux top найти процесс

Практические рекомендации: устраняйте неполадки, используя команду ‘Top’ в Linux

Вывод команды «top»

Если в коммандной строке линукс системы вы наберете команду top, то получите табличку со следующим заголовком:

Давайте разберем значение каждой из строк.

top – 17:15:19 up 32 days, 18:24, 6 users
Здесь показана команда и текущее системное время; «время бесперебойной работы», в нашем случае это 32 дня, 18 часов и 24 минуты; наконец, указывается количество зарегистрированных в системе пользователей; в данном примере, в системе зарегистрированы 6 пользователей. Они могут быть подключены по SSH, локально, быть неактивными и т.д.

load average: 0,00, 0,01, 0,05
В этой части показывается средняя нагрузка; она может сбивать с толку, особенно на виртуальной машине/в облаке.
Первая цифра показывает среднюю нагрузку «последней минуты», или «текущую» среднюю нагрузку; вторая цифра показывает «среднюю нагрузку за 5 минут», последняя цифра – «среднюю нагрузку за 15 минут».
Средняя нагрузка – мера среднего числа процессов, ожидающих своей очереди, чтобы совершить какое-либо действие в процессоре. Как и в супермаркете, приходится стоять в очереди, дожидаясь, пока кассир уделит вам все свое внимание. Причина, по которой средняя нагрузка растет, заключается в остальной статистике и счетчиках, находящихся ниже этой линии, поэтому, если ориентироваться строго на значения средней нагрузки, можно не увидеть всей картинки полностью.

Вот пример, взятый из узла distcc:

Данный сервер, кроме того, что является средой промежуточной обработки для скриптов и хостингом инструментов командной строки облака, предоставляет также распределенную службу C компилятора различным машинам, находящимся в нашей сети, поскольку она имеет 8 процессоров, 32 ГБ оперативной памяти и тонну псевдодискового пространства. При нормальной нагрузке, среднее ее значение остается относительно низким; при выполнении java-скриптов нагрузка может вырастать в два и более раза. Однако при выполнении службы компилятора при полной нагрузке (10 выполняемых процессов при загрузке процессора, равной 95% или выше), среднее значение нагрузки составляет 0,75… Как же так получается? Попытаемся разобраться

Строка Tasks

1.
sleeping Количество ждущих процессов показывает, какие процессы выполняются, но не являются активными; обычно это фоновые задачи, системное ПО, драйвера принтера и т.д.
stopped Количество остановленных процессов должно, как правило, равняться 0, если вы не послали процессу сигнал a SIGSTOP или kill -STOP для устранения неисправностей. Если это число отличается от 0, то, в случае с рабочими серверами это может служить поводом для беспокойства.
zombie Зависшие процессы. Это означает, что многопоточное приложение запустило дочерний процесс, а затем было уничтожено или неожиданно завершено, оставив после себя повисший процесс, известный, как zombie-процесс. Apache может наплодить целую кучу таких процессов в случае, если происходит что-то из ряда вон выходящее. Обычно, их число тоже должно равняться 0.

Строка Cpu

Я разобью эту информацию на две части, в них содержится статистика, важная для нашего использования.

Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.9%id,
Первые четыре величины, приведенные здесь, присутствуют на всех серверах с linux, и они привычны для большинства людей.
%us показывает использование отдельного процессора (пользовательскими процессами, такими, как apache, mysql и т.д.) до максимального значения, составляющего 100%. Таким образом, если в четырехъядерном процессоре 1 процесс использует 100% CPU, это даст значение %us, равное 25%. Значение 12,5% для 8-ядерного процессора означает, что занято одно ядро.
%sy означает использование CPU системой. Обычно это значение невысоко, высокие его значения могут свидетельствовать о проблеме с конфигами ядра, проблему со стороны драйвера, или целый ряд других вещей.
%ni означает процент CPU, используемого пользовательскими процессами, на которые повлияло использование команд nice или renice, т.е. по существу их приоритет был изменен по сравнению с приоритетом по умолчанию, назначаемому планировщиком, на более высокий или низкий. При назначении какому-либо процессу команды nice, положительное число означает более низкий приоритет (1 = 1 шаг ниже нормального), а отрицательное число означает более высокий приоритет. 0 – значение по умолчанию, что означает, что решение о приоритете принимает планировщик. Можно установить, какой планировщик используется вашей системой, но это более сложная тема для следующих статей. Кроме того, любая величина в процентах, приведенная в этот статье не накладывается на величину %us, которая показывает только пользовательские процессы с невыставленным приоритетом.
%id – результат, получающийся при вычитании трех предыдущих значений из 100,0%, и измеряющий «простаивающую» вычислительную мощность.

Читайте также:  Клиентский компонент центра обновления windows код 0x8024500c

0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Второй набор значений связан с виртуализацией, и именно по ним мы можем точно отследить те проблемы, которые, возможно, вносят вклад в высокое значение средней нагрузки.

%wa – iowait, процент времени (циклов, секунд), в течение которого процессор простаивал, ожидая завершения операции ввода-вывода. Когда какой-либо процесс или программа запрашивает данные, он сначала проверяет кэш процессора (в нем имеется 2 или 3 кэша), затем проверяет память и, наконец, доходит до диска. Дойдя до диска, процессу или программе обычно приходится ждать, пока поток ввода-вывода передаст информацию в оперативную память, прежде чем иметь возможность снова на нем работать. Чем медленнее диск, тем выше будет значение IO Wait % для каждого процесса. Это происходит также с процессами записи на диск, если системный буфер заполнен и его необходимо прочистить при помощи ядра – обычно это наблюдается на серверах баз данных с высокой нагрузкой. Если значение IO Wait стабильно превышает <100 >%, это означает, что, возможно, имеется проблема хранения, с которой необходимо разобраться. Если вы наблюдаете высокую среднюю нагрузку, прежде всего, проверьте этот параметр. Если он высок, тогда узкое место в процессах, скапливающихся на диске, а не в чем-либо еще.
%hi означает прерывания на уровне железа; на плате электроны движутся по микросхемам предсказуемым образом. Например, когда сетевая карта получает пакет, перед передачей информации, содержащейся в пакете в процессор через ядро, она запросит прерывание в канале прерывания материнской платы. Процессор сообщает ядру, что у сетевой карты для него есть информация, а ядро имеет возможность решить, как поступить. Высокое значение времени, тратящегося на обработку прерываний на уровне железа встречается на виртуальной машине довольно редко, но по мере того, как гипервизоры предоставляют в распоряжение виртуальных машин все больше «железа», эта ситуация может измениться. Чрезвычайно высокая пропускная способность сети, использование USB, вычисления на графических процессорах, — все это может привести к росту этого параметра на величину, превышающую несколько процентов.
%si – прерывание на уровне софта; в ядре linux версии 2.4 реализована возможность запроса прерывания программным обеспечением (приложениями), а не элементом аппаратного обеспечения или устройством (драйвером), запрашивающим прерывание в канале прерывания материнской платы; запрос обслуживается ядром посредством его обработчика прерываний. Это означает, что приложение может запросить приоритетный статус, ядро может подтвердить получение команда, а программное обеспечение будет терпеливо ждать, пока прерывание не будет обслужено. Если мы применим утилиту tcpdump к гигабитному каналу с высоким трафиком, то значение может измениться примерно на 10%, — по мере заполнения выделенной памяти tcpdump, утилита посылает зарос на прерывание, чтобы переместить данные со стека на диск, экран, или куда угодно еще.
%st — самый важный параметр из всех в списке, по моему мнению, это IOSteal%. В виртуализированной среде множество логических серверов могут работать под одним фактическим гипервизором. Каждой виртуальной машине(VM) мы присваиваем 4-8 «виртуальных» CPU; хотя сами гипервизоры могут не иметь (кол-во VM * кол-во виртуальных CPU на одну VM). Причина этого заключается в том, что мы не перегружаем CPU использованием наших виртуальных машин, так что если мы дадим одной-двум VM возможность изредка использовать 8 процессоров, это не будет негативно влиять на весь пул в целом. Однако если виртуальными процессорами VM используется количество CPU, превышающее количество физических (или логических, в случае с гиперпотоковыми процессорами Xeon), тогда значение iosteal будет расти.

iosteal% — мера загруженности гипервизора; наличие в каком-либо пуле виртуальных машин, демонстрирующих стабильно высокое значение параметра iosteal% (более 15%) может свидетельствовать о необходимости переноса некоторых из VM в другую часть пула.

Читайте также:  Cuantos sistemas operativos de windows existen

iowait% является показателем производительности диска. В системе хранения данных, поддерживаемой NetApp, у нас может не получиться решить проблему производительности без перемещения тома на менее используемый, или другой диск NetApp. В случае с локальным диском (SSD или SAS) это может означать, что в гипервизоре имеется слишком много VM, интенсивно использующих ресурсы диска, и может потребоваться перенести некоторые из этих VM в другую часть пула.

Подведем итоги:

• Средняя нагрузка, на самом деле, ни о чем не говорит.
• Параметр %userland (%us) важен для средней нагрузки, поскольку он говорит о том, что производятся вычисления. Например, mysql, займет всего один поток, поэтому при полной нагрузке будет использовать (1/кол-во виртуальных CPU, присвоенных VM). postgresql является многопоточным, и может использовать больше процессоров, если они будут выделены, – помните об этом, создавая виртуальные машины в гипервизоре, чтобы предотвратить:
%st – iosteal% — показатель загруженности гипервизора. Создание стека из 4-х postgresql и 6 серверов tomcat под одним гипервизором может быть разумным с точки зрения бизнеса, но вам придется все время конкурировать за процессорное время.
%wa – iowait% — показатель количества времени, которое уходит на отсылку ваших процессов на невероятно медленные диски, неважно какое решение для хранения данных вы используете. Диски, даже SSD, сравнительно медленные. Добавление ОЗУ для увеличения буфера ядра может немного смягчить проблему. ОЗУ дешевле диска, если учесть, насколько молниеносно она работает по сравнению с ним.

Дополнительные команды

iostat
Если вы столкнулись с высокими значениями параметров iowait или iosteal, можно с точностью отследить, какой диск является этому причиной, при помощи команды iostat. Запускается она таким образом:

Более подробно, см. руководство по iostat. Разбивка, выводимая каждую секунду, с каких и на какие диски идет чтение/ запись, а также все значения iosteal или iowait, связанные с доступом к этим дискам.

htop
Команда по использованию CPU и процессов на системе Linux. Он не показывает виртуальную статистику, но отображает дерево процессов, а также разбивку каждого процессора в системе, его использование; кроме того, он показывает статистику свопинга и памяти, позволяющую отследить неприятные утечки памяти, раскрашивая все это симпатичными цветами. По моему мнению, этот пакет должен быть обязательным для всех VM.

Источник

Как использовать команду Linux Top, чтобы показать запущенные процессы

Команда top Linux используется для отображения всех запущенных процессов в вашей среде Linux. Это руководство показывает, как использовать команду top, объясняя различные доступные переключатели и отображаемую информацию:

Как запустить верхнюю команду

В его основной форме все, что вам нужно сделать, чтобы показать текущие процессы, это набрать в терминале Linux следующее:

Какая информация отображается:

Следующая информация отображается при запуске команды top Linux:

Строка 1

  • Время
  • Как долго работает компьютер
  • Количество пользователей
  • Средняя нагрузка

Среднее значение загрузки показывает время загрузки системы за последние 1, 5 и 15 минут.

Линия 2

  • Общее количество заданий
  • Количество запущенных задач
  • Количество спальных заданий
  • Количество остановленных задач
  • Количество заданий зомби

Линия 3

  • Загрузка процессора в процентах пользователем
  • Загрузка процессора в процентах по системе
  • Использование процессора в процентах процессами с низким приоритетом
  • Загрузка процессора в процентах по незанятым процессам
  • Загрузка процессора в процентах по io wait
  • Загрузка процессора в процентах от аппаратных прерываний
  • Загрузка процессора в процентах от программных прерываний
  • Использование процессора в процентах от времени кражи

Это руководство дает определение того, что означает использование процессора.

Линия 3

  • Общая системная память
  • Свободная память
  • Используемая память
  • Буферный кеш

Строка 4

  • Всего доступно своп
  • Всего своп бесплатно
  • Всего используется своп
  • Доступная память

Это руководство дает описание разделов подкачки и того, нужны ли они вам.

Главный стол

  • Идентификатор процесса
  • пользователь
  • приоритет
  • Хороший уровень
  • Виртуальная память, используемая процессом
  • Резидентная память, используемая процессом
  • Совместная память
  • Процессор, используемый процессом в процентах
  • Память используется процессом в процентах
  • Время процесса запущено
  • команда

Вот хорошее руководство по обсуждению памяти компьютера.

Всегда держите Linux в топе в фоновом режиме

Вы можете сделать команду top доступной без необходимости вводить слово top каждый раз в окно терминала.

Чтобы сделать паузу сверху, чтобы продолжить использование терминала, нажмите клавиши CTRL и Z на клавиатуре.

Чтобы вернуть вершину на передний план, введите fg.

Читайте также:  Как узнать сокет материнской платы через компьютер windows

Ключевые переключатели для верхней команды:

  • -h – Показать текущую версию
  • -c – переключает столбец команды между отображением команды и имени программы
  • -d – указать время задержки между обновлением экрана.
  • -o – сортировка по названному полю
  • -p – показывать только процессы с указанными идентификаторами процессов
  • -u – Показывать только процессы указанного пользователя
  • -i – не показывать пустые задачи

Показать текущую версию

Введите следующую команду, чтобы показать подробности текущей версии для top:

Выходные данные имеют вид procps -ng версия 3.3.10 .

Укажите время задержки между обновлениями экрана

Чтобы указать задержку между обновлениями экрана при использовании top, введите следующее:

Чтобы обновлять каждые 5 секунд, введите top -d 5 .

Получить список столбцов для сортировки по

Чтобы получить список столбцов, по которым вы можете отсортировать верхнюю команду, введите следующую команду:

Есть много столбцов, поэтому вы можете захотеть передать вывод следующим образом:

Сортировать столбцы в верхней команде по имени столбца

Используйте предыдущий раздел, чтобы найти столбец для сортировки, а затем используйте следующий синтаксис для сортировки по этому столбцу:

Для сортировки по% CPU введите следующее:

Показывать только процессы для конкретного пользователя

Чтобы показать только процессы, запущенные конкретным пользователем, используйте следующий синтаксис:

Например, чтобы показать все процессы, которые запускает пользователь gary, введите следующее:

Скрыть пустые задачи

Вид сверху по умолчанию может показаться загроможденным, и если вы хотите видеть только активные процессы (то есть те, которые не простаивают), вы можете запустить команду top, используя следующую команду:

Добавление дополнительных столбцов на верхний дисплей

Во время работы сверху вы можете нажать клавишу «F», которая показывает список полей, которые могут быть отображены в таблице:

Используйте клавиши со стрелками для перемещения вверх и вниз по списку полей.

Чтобы установить поле так, чтобы оно отображалось на экране, нажмите клавишу «D».Чтобы удалить поле, нажмите «D» еще раз. Звездочка (*) появится рядом с отображаемыми полями.

Вы можете установить поле для сортировки таблицы, просто нажав клавишу «S» в поле, по которому вы хотите отсортировать.

Нажмите клавишу ввода, чтобы подтвердить изменения и нажмите «Q», чтобы выйти.

Переключение режимов

Во время работы сверху вы можете нажать клавишу «А» для переключения между стандартным дисплеем и альтернативным дисплеем.

Изменение цвета

Нажмите клавишу «Z», чтобы изменить цвета значений в верхней части.

Есть три этапа, необходимые для изменения цвета:

  1. Нажмите либо S для сводных данных, M для сообщений, H для заголовков столбцов или T для информации о задаче, чтобы указать эту область для изменения цвета
  2. Выберите цвет для этой цели, 0 для черного, 1 для красного, 2 для зеленого, 3 для желтого, 4 для синего, 5 для пурпурного, 6 для голубого и 7 для белого
  3. Введите, чтобы совершить

Нажмите клавишу «B», чтобы сделать текст жирным.

Измените дисплей пока работает верх

Пока работает верхняя команда, вы можете включать и выключать многие функции, нажимая соответствующие клавиши во время ее работы.

В следующей таблице показана клавиша, которую нужно нажать, и функция, которую она предоставляет:

Функциональная клавиша
Описание

А Альтернативное отображение (по умолчанию отключено)
д Обновить экран после указанной задержки в секундах (по умолчанию 1,5 секунды)
Н Режим потоков (по умолчанию выключен), суммирует задачи
р Мониторинг ПИД (по умолчанию выключен), показать все процессы
B Включение жирным шрифтом (по умолчанию включено), значения показаны жирным шрифтом
L Показать среднюю нагрузку (по умолчанию включено)
т Определяет, как отображаются задачи (по умолчанию 1 + 1)
т Определяет, как отображается использование памяти (по умолчанию 2 строки)
1 Одиночный процессор (по умолчанию выключен) – то есть показывает для нескольких процессоров
J Выровнять номера справа (по умолчанию включено)
J Выровнять текст вправо (по умолчанию отключено)
R Обратная сортировка (по умолчанию включено) – от процессов с самого высокого уровня к процессам с самым низким уровнем
S совокупное время (по умолчанию выключено)
и Пользовательский фильтр (по умолчанию выключен), показывать только euid
U Пользовательский фильтр (по умолчанию выключен) показывает любой uid
В Представление леса (по умолчанию включено) отображается как ветви
X Подсветка столбца (по умолчанию выключено)
г Цветное или моно (по умолчанию включено) отображение цветов

Резюме

Доступно больше переключателей, и вы можете узнать о них больше, набрав в окне терминала следующее:

Источник

Оцените статью