Top как найти процесс

В одной из предыдущих статей я рассказывал как пользоваться утилитой ps для просмотра информации о запущенных процессах в Linux. Однако для решения подобных задач существуют и более продвинутые инструменты. Один из таких инструментов – это команда top. Она немного проще чем та же утилита htop, но в отличие от ps позволяет выводить информацию о системе, а также список процессов динамически обновляя информацию о потребляемых ими ресурсах.

В этой статье мы разберемся как пользоваться утилитой top, рассмотрим опции её запуска, а также интерактивные команды, которые вы можете использовать во время работы программы. Кроме того, разберем несколько примеров.

1. Опции и команды top

Опций запуска у команды не много и использовать их активно не принято, потому что большинство действий выполняются с помощью интерактивных команд. Вот основные опции:

  • -v – вывести версию программы;
  • -b – режим только для вывода данных, программа не воспринимает интерактивных команд и выполняется пока не будет завершена вручную;
  • -c – отображать полный путь к исполняемым файлам команд;
  • -d – интервал обновления информации;
  • -H – включает вывод потоков процессов;
  • -i – не отображать процессы, которые не используют ресурсы процессора;
  • -n – количество циклов обновления данных, после которых надо закрыть программу;
  • -o – поле, по которому надо выполнять сортировку;
  • -O – вывести все доступные поля для сортировки;
  • -p – отслеживать только указанные по PID процессы, можно указать несколько PID;
  • -u – выводить только процессы, запущенные от имени указанного пользователя.

С опциями запуска всё, теперь давайте поговорим про интерактивные команды, которые вы можете выполнять во время работы программы.

  • h – вывод справки по утилите;
  • q или Esc – выход из top;
  • A – выбор цветовой схемы;
  • d или s – изменить интервал обновления информации;
  • H – выводить потоки процессов;
  • k – послать сигнал завершения процессу;
  • W – записать текущие настройки программы в конфигурационный файл;
  • Y – посмотреть дополнительные сведения о процессе, открытые файлы, порты, логи и т д;
  • Z – изменить цветовую схему;
  • l – скрыть или вывести информацию о средней нагрузке на систему;
  • m – выключить или переключить режим отображения информации о памяти;
  • x – выделять жирным колонку, по которой выполняется сортировка;
  • y – выделять жирным процессы, которые выполняются в данный момент;
  • z – переключение между цветным и одноцветным режимами;
  • c – переключение режима вывода команды, доступен полный путь и только команда;
  • F – настройка полей с информацией о процессах;
  • o – фильтрация процессов по произвольному условию;
  • u – фильтрация процессов по имени пользователя;
  • V – отображение процессов в виде дерева;
  • i – переключение режима отображения процессов, которые сейчас не используют ресурсы процессора;
  • n – максимальное количество процессов, для отображения в программе;
  • L – поиск по слову;
  • <> – перемещение поля сортировки вправо и влево;

Это далеко не все команды top, но их будет вполне достаточно для начала работы, а остальные вы сможете найти в официальной документации по утилите.

2. Запуск программы

Утилита не всегда установлена по умолчанию, для её установки в Ubuntu используйте команду:

sudo apt install top

Затем для запуска просто выполните в терминале:

top

Окно можно условно разделить на две части. В верхней части находится информация о системе, общем использовании ресурсов процессора и памяти, раздела подкачки, и так далее. В нижней части окна расположен список запущенных процессов с информацией, отсортированных по определённому полю.

Если все процессы не помещаются на одном экране, их можно листать с помощью стрелок вверх и вниз. Если не помещаются все колонки – с помощью стрелок вправо и влево:

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

3. Сортировка процессов

Чтобы выделить поле, по которому сейчас выполняется сортировка нажмите клавишу y. После этого вся колонка будет выделена жирным:

Для выбора соседнего поля сортировки справа или слева от текущего используйте клавиши > или < соответственно. Например, для сортировки по памяти top достаточно переместить поле сортировки на столбец %MEM.

4. Настройка полей

По умолчанию выводятся далеко не все поля, а только те, что чаще всего используются. Но вы можете включить вывод других полей, отключить не нужные, а также изменить порядок их расположения. Для этого введите команду F:

Откроется новое окно в псевдоинтерфейсе программы, в котором будут выведены все поля. Я не буду описывать поля в этой статье, поскольку я это сделал в статье про команду ps:

Поля, которые сейчас отображаются выделены жирным и отмечены звездочкой. Вы можете перемещаться по ним с помощью стрелок вверх или вниз. Для того чтобы добавить или убрать поле нажмите на нём d или пробел.

Для того чтобы переместить поле, нажмите на нём Enter, а затем стрелку вправо. После этого поле будет захвачено и вы сможете двигать его вверх или вниз. Затем надо отпустить поле на нужном месте с помощью клавиши Enter.

После завершения настройки можно вернуться обратно в интерфейс программы с помощью клавиши q.

5. Виртуальные окна

Программа имеет четыре окна для вывода данных. Так они называются в документации, но мне больше нравится название формат отображения. Это def, job, mem и usr. Каждое окно выделяется другим цветом в цветном режиме, а также содержит разный набор колонок. Для просмотра всех окон используйте команду A, а для переключения между ними – a:

Текущее окно отображается в левом верхнем углу.

Когда выберите нужное окно снова нажмите A, чтобы вернуться в обычный режим.

7. Цветной вывод

По умолчанию команда top выводит всё в чёрно-белом цвете, однако вы можете включить цветной вывод. Для этого нажмите клавишу z:

Как я уже говорил, у каждого окна данных есть своя цветовая схема, вы можете настроить их под себя. Для этого надо использовать команду Z:

Здесь каждому элементу цветовой схемы отведена своя буква в верхнем регистре, а цвету – в нижнем. Сначала надо выбрать элемент, затем цвет для него. Когда завершите нажмите w для сохранения и редактирования цветовой схемы следующего окна или Enter для сохранения и выхода.

8. Сохранение настроек

Все эти настройки не имели бы смысла, если бы их нельзя было сохранить для восстановления при следующем запуске. Для сохранения текущих настроек программы используйте команду W.

Она записывает все внесённые настройки в файл ~/.toprc и при следующем запуске они будут восстановлены.

9. Фильтрация процессов

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

После ввода команды она попросит ввести имя пользователя или его UID. Также можно фильтровать процессы по любому другому полю. Для этого нажмите клавишу o, затем введите условие фильтра в виде:

ИМЯ_ПОЛЯ=значение

Например:

USER=syslog

Если вы выполните команду o ещё раз, то программа предложит создать ещё один фильтр. Чтобы сбросить фильтры используйте команду =.

10. Завершение процессов

Чтобы завершить процесс используйте команду k. После ввода команды утилита попросит набрать PID идентификатор процесса, который надо завершить:

Затем программа спросит какой сигнал процессу надо отправить:

Можно оставить по умолчанию, тогда будет отправлен SIGTERM или же ввести любой другой код, например 9 для SIGKILL.

11. Инспектирование процессов

Ещё одна интересная возможность команды top – это инспектирование процессов. Для того чтобы эта функция заработала надо сначала открыть файл ~/.toprc и добавить в конец такие строки:

pipe Open Files lsof -P -p %d 2>&1
file NUMA Info /proc/%d/numa_maps
pipe Log tail -n200 /var/log/syslog | sort -Mr

После этого перезапустите top и нажмите сочетание клавиш Shift+y.

Утилита попросит ввести PID процесса, который надо инспектировать. После этого откроется новое псевдоокно в котором можно выбрать три вкладки:

Для выбора вкладки нажмите Enter. Затем можете просматривать нужные данные, чтобы вернуться обратно ещё раз нажмите Enter.

Выводы

Из этой статьи вы узнали что из себя представляет команда top Linux. Как видите, утилита довольно мощная, хотя при первом запуске сложно подумать что она столько всего может и будет выглядеть настолько красиво если её настроить. Но я всё же привык к старой доброй ps. А какой утилитой пользуетесь вы для просмотра запущенных процессов? Напишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

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

Содержание

  1. Интерфейс команды top
  2. Просмотр справки команды top
  3. Установка интервала для обновления экрана
  4. Отображение процессов для определенного пользователя
  5. Выделение активных процессов в выводе Top
  6. Просмотр абсолютного пути процессов
  7. Завершить запущенный процесс с помощью команды top
  8. Изменение приоритета процесса
  9. Автоматический выход из команды top после определенного количества обновлений
  10. Сохранение результатов команды top в текстовый файл

Интерфейс команды top

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

Вы можете открыть Терминал либо через системный Dash, либо сочетанием клавиш Ctrl+Alt+T.

Вот как выглядит вывод команды top:

Интерфейс команды top

В верхней части вывода отображается статистика о процессах и использовании ресурсов. В нижней части отображается список текущих запущенных процессов. Для просмотра списка вы можете использовать клавиши со стрелками или клавиши перехода вверх и вниз.

Если вы хотите выйти из команды, вы можете нажать q или использовать сочетание клавиш Ctrl+c, которое завершит команду.

Просмотр справки команды top

В справке команды top вы найдете список опций, которые можно использовать для настройки вывода и функций, которые можно выполнять во время выполнения команды top.

Чтобы просмотреть справку, просто нажмите клавишу h во время выполнения команды top.

Просмотр справки команды top

Установка интервала для обновления экрана

По умолчанию вывод команды top обновляется каждые 3 секунды. Чтобы изменить этот интервал, нажмите клавишу d во время выполнения команды top. Затем вы можете ввести новое время в секундах, через которое на экране будет обновляться последняя информация.

Установка интервала для обновления экрана

Отображение процессов для определенного пользователя

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

top -u [имя пользователя]

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

top -u root

Выделение активных процессов в выводе Top

Когда вы нажимаете клавишу z во время выполнения команды top, активные в данный момент процессы будут показаны цветом, как показано ниже:

Выделение активных процессов в выводе Top

Просмотр абсолютного пути процессов

Если вы хотите просмотреть абсолютный путь запущенных процессов, нажмите клавишу c во время выполнения команды top. В следующем выводе видно, что команда теперь отображает путь запущенных процессов в столбце Command:

Просмотр абсолютного пути процессов в top

Завершить запущенный процесс с помощью команды top

Очень мощная функция команды top заключается в том, что с ее помощью можно убивать запущенные процессы. Это особенно полезно, когда процесс не отвечает на запросы и вы хотите избавиться от него. Нажмите клавишу k, когда запущена команда top. Появится запрос на PID процесса, который вы хотите убить. Введите нужный идентификатор процесса, просмотрев его в списке, а затем нажмите клавишу Enter. Процесс и соответствующее приложение закроются почти сразу.

Завершить запущенный процесс с помощью команды top

Изменение приоритета процесса

Нажмите клавишу r во время выполнения команды top, а затем введите PID процесса, приоритет которого вы хотите изменить.

Изменение приоритета процесса в top

Автоматический выход из команды top после определенного количества обновлений

Вы можете выйти из команды top вручную с помощью q или ctrl+c. Если вы хотите, чтобы команда top выполнялась только до определенного количества обновлений вывода, вы можете использовать следующую команду:

top -n [количество обновлений].

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

Сохранение результатов команды top в текстовый файл

Вы можете сохранить текущее состояние системы для последующего использования, если сохраните результаты команды top в текстовый файл.

Вот как это можно сделать:

$ top -n [количество обновлений] -b > filename.txt

Например, следующая команда сохранит результат одного вывода команды top в файл с именем top.txt:

Содержание

  1. что показывает top в колонке %CPU? )
  2. Как просмотреть нагрузку на процессор в Linux
  3. Команда ps
  4. Команда top
  5. 🐧 Как найти процессы с наиболее высокой загрузкой на процессор в Linux
  6. 1) Как найти процесс с высокой загрузкой на процессор в Linux с помощью команды top
  7. 2) Как найти процесс с высокой загрузкой процессора в Linux с помощью команды ps
  8. Контроль нагрузки и процессов: top, htop, atop
  9. Сведения о системе
  10. Сведения о процессах
  11. Управление
  12. Логи atop

что показывает top в колонке %CPU? )

в чем суть: есть два ядра и некоторое заведомо большее количество процессов. да из которых (анпример alfa и betta) показывают загрузку 80% и еще десяток по незначительный от 1.5% до 0.2%… а LA при это-м равен 2. а загрузка cpu 100%

так вот какой из этих процессов грузит проц? 80% — на против процесса, это одно ядро или два? а если пороцес многопоточный?

хотелось бы конструктивной аргументации, с указанием на матерьялы для изучения.

так вот какой из этих процессов грузит проц? 80% — на против процесса, это одно ядро или два? а если пороцес многопоточный?

Скриншот top показать не вариант? Лучше htop.

хотелось бы конструктивной аргументации, с указанием на матерьялы для изучения.

Что именно ты собрался изучать? Как понимать что показывает top?

LA кстати не про загрузку процессора, если что. И вообще он на разных ОС по разному может считаться и даже алгоритм менялся за время существования линукса. Если тебя это смущает то гугли что такое LA.

LA — Load Average ну как его посчитать могеш в исходники самого top глянуть ну а там чистая математика ну скажем 4 класса. Все что показывает top есть в /proc и все что нужно это 4 класс образования умножить поделить ну и т.д. все что нужно в top смотреть, нечего и говорить тут не очем. Вспомни проек top кагого года когда у тебя был всего один проц и один поток. Ну это я к чему вся логика там и осталась на один проц. Ну а теперь итог если у тебя проц 8 ядер и 16 потоков то LA=16 это все что ты могеш выжять из проца при работе на отзывчивость 100% если больше то все приплыли. Начинаются задержки io точно не помню как там в top этот параметр кличится top не пользуюсь уже как лет сто ну почти.

%CPU – CPU Usage The task’s share of the elapsed CPU time since the last screen update, expressed as a percentage of total CPU time.

не понятна формулировка особенно в сравнении с следующим абзацем

In a true SMP environment, if a process is multi-threaded and top is not operating in Threads mode, amounts greater than 100% may be reported.

кстати, htop ссылается на документацию top, и толком ничего не обьясняет.

так что показывает %CPU — одно ядро, а более 100% в многопоточном приложении будет?

спасибо, со статьей Brendan Gregg-a (https://www.brendangregg.com/blog/2017-08-08/linux-load-averages.html) знаком потому и задаю вопрос. а то получается смотришь в top(htop) и насамом деле фидишь фиг… Хочу разобраться что же там все-же

так что показывает %CPU — одно ядро, а более 100% в многопоточном приложении будет?

Ты же сам процитировал что может, значит может. Вопрос то в чем? Почему он за 100% берет одно ядро, а не все сразу? Не удивлюсь если это поведение вообще как нибудь переключается.

la это про доступность ресурсов, процессор это не единственный ресурс.

Источник

Как просмотреть нагрузку на процессор в Linux

В Linux потребление ресурсов CPU, с сортировкой по наибольшей загрузке, можно посмотреть при помощи двух команд: ps и top.

Важный нюанс: Значение в столбце «CPU» в обоих командах считается от загрузки одного ядра процессора. Таким образом сумма процентов на многоядерных машинах будет больше 100%. К примеру для четырехядерного процессора суммарный процент потребления всех процессов не может превышать 400%.

Рассмотрим каждую из команд подробней.

Команда ps

Для запуска введите в консоли ОС команду:

Пример вывода команды:

Важными столбцами являются:

  • USER Пользователь, от имени которого работает процесс
  • PID Идентификатор процесса
  • %CPU Процент загрузки ядра

Согласно данному выводу можно понять, что экземпляр программы dd с PID=31712 практически полностью использует одно ядро процессора.

Команда top

Также загрузку процессора можно посмотреть в интерактивном режиме при помощи команды top. Для запуска введите в консоли ОС команду:

Пример вывода команды:

Важными столбцами являются:

  • USER Пользователь, от имени которого работает процесс
  • PID Идентификатор процесса
  • %CPU Процент загрузки ядра

Согласно данному выводу видно, что два процесса браузера Chromium используют по 40% возможностей одного из ядер процессора.

Источник

🐧 Как найти процессы с наиболее высокой загрузкой на процессор в Linux

Иногда возникают ситуации, в которых должны определить список процессов, которые потребляют больше ресурсов ЦП в системе.

Я считаю, что есть только два способа проверить это.

Это можно сделать с помощью команды top и команды ps.

Я хотел бы рекомендовал использовать скорее top, нежели ps.

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

Обе эти опции широко используются администраторами Linux.

1) Как найти процесс с высокой загрузкой на процессор в Linux с помощью команды top

Команда top в Linux – это лучшая и наиболее известная команда, которую все используют для мониторинга производительности системы Linux.

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

Она отображает сводную информацию о системе, список процессов, в настоящее время управляемых ядром Linux.

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

По умолчанию она сортирует верхние выходные данные с использованием ЦП и обновляет данные каждые 5 секунд.

Если вы хотите получить четкое представление о выводе команды top для дальнейшего анализа, это лучший способ запустить команду top в пакетном режиме.

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

  • top : это команда
  • -b : Пакетный режим.
  • head -50: Показать первые 50 строк в выходных данных.
  • PID : Уникальный идентификатор процесса.
  • USER : Владелец процесса.
  • PR : приоритет процесса.
  • NI : NICE значение процесса.
  • VIRT : Сколько виртуальной памяти используется процессом.
  • RES : Сколько физической памяти используется процессом.
  • SHR : сколько общей памяти используется процессом.
  • S : У казывает на состояние процесса: S = сон R = работает Z = зомби.
  • %CPU : Процент процессора, используемого процессом.
  • %MEM : Процент оперативной памяти, используемой процессом.
  • TIME+ : Как долго работает процесс.
  • COMMAND : Наименование процесса.

2) Как найти процесс с высокой загрузкой процессора в Linux с помощью команды ps

ps обозначает processes status, она отображает информацию об активных / запущенных процессах в системе.

Она предоставляет снимок текущих процессов вместе с подробной информацией, такой как имя пользователя, идентификатор пользователя, использование процессора, использование памяти, дата начала процесса и имя команды времени и т. д.

Источник

Контроль нагрузки и процессов: top, htop, atop

Каждый запущенный на сервере процесс оказывает нагрузку, и если ресурсов сервера становится недостаточно, могут возникать проблемы: медленная работа сайта, задержки в выполнении скриптов и так далее.

Проанализировать, что именно нагружает сервер, можно с помощью специальных утилит. Их довольно много; в статье мы рассмотрим три из них:

В целом они довольно похожи; работа с htop может быть немного удобнее за счет интерактивности; при этом top предустановлена во всех дистрибутивах Linux и не требует отдельной установки; atop отличается возможностью ведения логов.

При медленной работе сайта дополнительно рекомендуем воспользоваться сервисом PageSpeed Insights от Google, который анализирует скорость загрузки страниц и сообщает, каким образом можно оптимизировать работу сайта. Также можно попытаться оптимизировать работу сайта за счет переноса каталога временных файлов MySQL в tmpfs .

Как было сказано выше, утилита top предустановлена в UNIX-системах, поэтому для запуска вам достаточно подключиться к серверу по SSH и выполнить команду top .

Вывод утилиты выглядит следующим образом:

В верхней части выводится информация о системе, ниже — список процессов. Вывод обновляется каждые 2 секунды. Самые «жадные» до ресурсов процессы, оказывающие самую большую нагрузку на процессор, будут выведены вверху списка.

Сведения о системе

Слева вверху указано текущее время системы, далее:

Up — время работы системы с последнего запуска.

User — количество текущих пользователей.

Load average — средняя нагрузка на сервер: отображаются значения за одну, пять и 15 минут назад.

Tasks — общее количество запущенных процессов в разных статусах (running — выполняемые; sleeping — в ожидании; stopped — остановленные; zombie — «зомби», дочерние процессы, ожидающие завершения родительского процесса).

Cpu(s) — процент времени процессора, затраченного на выполнение процессов, в том числе:

us — пользовательские процессы (высокое значение данного показателя может указывать, в том числе, на проблемы в коде сайта, необходимость его оптимизации);

sy — процессы ядра;

id — неиспользуемые ресурсы (чем выше этот показатель, тем лучше);

wa — операции ввода/вывода, т.е. дисковые операции.

Mem , Swap — сведения об использовании оперативной памяти (total — общий объем, free — объем свободной памяти, used — объем использованной памяти).

Сведения о процессах

По умолчанию процессы выстроены в таблице по размеру нагрузки на процессор, от большего значения к меньшему.

PID — идентификатор процесса;

USER — пользователь, запустивший процесс;

PR — приоритет процесса;

NI — измененный приоритет (присвоенный пользователем с помощью команды nice);

VIRT — объем используемой виртуальной памяти (здесь выводится тот объем памяти, который был запрошен процессом, даже если фактически используется меньше);

RES — объем используемой оперативной памяти (в данном случае, если процесс запросил 50Мб памяти, а использует 10Мб, будет выведено 10Мб);

SHR — объем памяти, разделяемой с другими процессами (т.е. память, которая может быть использована другими процессами);

S — статус процесса (running — запущен; sleeping — в ожидании; zombie — процесс-«зомби»);

%CPU — процент использования процессорного времени;

%MEM — процент использования оперативной памяти;

TIME — общее время работы процесса;

COMMAND — имя процесса (команда, которой был запущен процесс).

Управление

Для работы с утилитой top используются следующие клавиши:

Пробел — обновить вывод

M — сортировка по используемой памяти

P — сортировка по нагрузке на процессор (используется по умолчанию)

T — сортировка по времени работы процесса

A — сортировка по максимальному потреблению различных ресурсов

u — сортировка по имени пользователя (потребуется ввести имя пользователя)

k — завершить процесс (потребуется указать его идентификатор, PID)

n — изменить количество процессов в выводе (потребуется указать нужное количество)

c — вывести полный путь запущенного процесса (столбец COMMAND)

h — вывод справки

q — выход из программы

В отличие от top, утилиту htop сначала необходимо установить на сервер:

Ubuntu / Debian:

CentOS:

И после запустить:

Вывод команды выглядит следующим образом:

Аналогично выводу top, в верхней части представлена информация о системе, ниже — список процессов. Значения столбцов в htop те же, что в top (они описаны выше ).

Сверху слева вы можете видеть данные о нагрузке каждого ядра процессора, объем занятой памяти, сведения о количестве процессов, значения load avearage (средней нагрузки) за последние 1, 5 и 15 минут и аптайм системы.

По умолчанию процессы отсортированы по уровню нагрузки на процессор, от большего к меньшему.

Чтобы отсортировать их по занятой памяти (или любому другому параметру), просто кликните на название нужного столбца, например MEM. Для обратной сортировки (от меньшего к большему) достаточно кликнуть на тот же столбец еще раз. Также для управления сортировкой можно использовать клавиши M (сортировка по памяти), P (по процессору), T (по времени), аналогично утилите top.

Пробел — отметить процесс (таким образом можно помечать процессы для групповой операции с ними, например, завершения).

u — вывести процессы конкретного пользователя.

Для управления используются клавиши F1 – F10:

F1 — вывод справки

F2 — настройка вывода (добавление, удаление столбцов, отображение расширенной информации в верхнем блоке и пр.)

F3 — поиск процессов

F4 — фильтрация процессов (вывод процессов, имеющих в названии указанное слово)

F5 — вывод дерева процессов (родительские и дочерние процессы)

F6 — изменить тип сортировки

F7 / F8 — повышение / понижение приоритета

F9 — завершение процесса (в отличие от top, не требуется указание PID — просто выделите с помощью мыши или клавиатуры нужный процесс и нажмите F9. Для подтверждения завершения процесса нажмите Enter, для отмены — Esc).

F10 — выход из программы

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

Основным преимуществом утилиты atop является функция ведения логов. Благодаря этому можно не только контролировать нагрузку в текущий момент, но и отслеживать работу процессов за прошедшие дни, чтобы диагностировать плавающие ошибки, которые сложно «поймать» при мониторинге в реальном времени.

Утилиту необходимо установить на сервер:

Ubuntu / Debian:

CentOS:

Также рекомендуем добавить atop в автозагрузку:

Ubuntu / Debian / CentOS 7:

CentOS 6:

Ubuntu 14.04:

Вывод выглядит примерно следующим образом:

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

Для управления выводом можно использовать:

m — сортировка по используемой памяти

d — сортировка по нагрузке на диск

u — нагрузка по пользователям

v — подробная информация по процессам

i — изменение интервала обновления данных (по умолчанию 10 секунд)

g — вернуть вывод по умолчанию

n — сортировка процессов по нагрузке на сеть (доступна при наличии установленного патча ядра)

Сочетания клавиш с Shift выстроят текущий список процессов по соответствующим параметрам:

  • Shift + m — сортировка процессов памяти
  • Shift + с — сортировка по потреблению CPU (по умолчанию)
  • Shift + d — сортировка по использованию диска
  • Shift + n — сортировка по использованию сети

Логи atop

По умолчанию atop собирает сведения о состоянии системы каждые 10 минут и сохраняет их в файл лога, располагающийся в директории /var/log/atop

Чтобы просмотреть лог за сегодня, выполните:

  • t — перейти вперед по времени
  • Shift + t — перейти назад по времени

Файл за конкретный день имеет имя atop_ГГГГММДД . Чтобы просмотреть лог за нужный день, используйте команду atop -r и укажите путь к файлу, например:

Изменить настройки ведения лога можно в конфигурационном файле atop, который размещается по пути /etc/default/atop или etc/sysconfig/atop — в CentOS.

Например, для того, чтобы atop делал снимок нагрузки раз в минуту, а не раз в 10 минут, укажите интервал 60.

После внесения изменений перезапустите atop:

Источник

Содержание

  1. 🐧 Как найти процессы с наиболее высокой загрузкой на процессор в Linux
  2. 1) Как найти процесс с высокой загрузкой на процессор в Linux с помощью команды top
  3. 2) Как найти процесс с высокой загрузкой процессора в Linux с помощью команды ps
  4. Ядра процессора загружены на 100%
  5. CPU Usage exceeding more than 100% in top command third line
  6. 2 Answers 2
  7. Why is the CPU usage reported by top in Linux over 100%?
  8. 4 Answers 4
  9. поле wa в top на VPS зашкаливает под 100%

🐧 Как найти процессы с наиболее высокой загрузкой на процессор в Linux

Иногда возникают ситуации, в которых должны определить список процессов, которые потребляют больше ресурсов ЦП в системе.

Я считаю, что есть только два способа проверить это.

Это можно сделать с помощью команды top и команды ps.

Я хотел бы рекомендовал использовать скорее top, нежели ps.

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

Обе эти опции широко используются администраторами Linux.

1) Как найти процесс с высокой загрузкой на процессор в Linux с помощью команды top

Команда top в Linux – это лучшая и наиболее известная команда, которую все используют для мониторинга производительности системы Linux.

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

Она отображает сводную информацию о системе, список процессов, в настоящее время управляемых ядром Linux.

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

По умолчанию она сортирует верхние выходные данные с использованием ЦП и обновляет данные каждые 5 секунд.

Если вы хотите получить четкое представление о выводе команды top для дальнейшего анализа, это лучший способ запустить команду top в пакетном режиме.

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

2) Как найти процесс с высокой загрузкой процессора в Linux с помощью команды ps

ps обозначает processes status, она отображает информацию об активных / запущенных процессах в системе.

Она предоставляет снимок текущих процессов вместе с подробной информацией, такой как имя пользователя, идентификатор пользователя, использование процессора, использование памяти, дата начала процесса и имя команды времени и т. д.

Источник

Ядра процессора загружены на 100%

Постоянно загружены под 100% два ядра процессора (попеременно), при этом никаких программ не запущено. То есть, постоянной нагрузки на 2 конкретных ядра нет, через некоторое время нагрузка переходит на другие ядра. Такое переключение напоминает обычную работу системы, но встревожен тем, что раньше ядра никогда не были так загружены.

Возможно это только на моей стороне, а может это делает патч от Meltdown/Spectre или что-то типа того (регулярно устанавливаю обновления системы в Ubuntu Software, поэтому могло быть установлено автоматически).

Компьютеру нет еще и года. Я начинающий пользователь Linux, так что не судите строго 🙂 Подскажите, что это может быть и как это решить.

p

Запусти мониторилку от рута. Возможно два ядра разгребают прерывания.

141716: 1560751168

Патч Meltdown не влияет на загрузку ядер в простое. Так что это явно какой-то процесс грузит.

скорее всего это tracker гномовский тебе покоя не даёт 🙂

p

В top’е хоть что показывает?

66835: 701634471

Tasks: 218 total, 1 running, 217 sleeping, 0 stopped, 0 zombie

%Cpu(s): 50.7 us, 0.2 sy, 0.0 ni, 49.1 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st

KiB Mem : 16204752 total, 13145312 free, 1401376 used, 1658064 buff/cache

KiB Swap: 0 total, 0 free, 0 used. 14209132 avail Mem

p

p

В гномовском/кде-шном мониторе посмотри, какой процесс грузит.

смотрел в приложении «System Monitor», все приложения показывают 0% CPU. В самой команде top показывает что команад systemd потребляет 200% (как раз эти 2 ядра по 100%).

2008 root 20 0 584716 19648 10868 S 200.0 0.1 68:08.76 systemd

p

p

Лог получился довольно большой. Нужна отдельная строка? Или полностью? Если полностью, то могу попробовать скинуть куда-нибудь в облако и дать ссылку. А то вижу тут документы нельзя прикреплять вроде как.

p

В pastebin.com закинь, а ссылку на него сюда

55788: 1193097237

p

systemd 2008 root 5u REG 8,2 1243863 156894 /root/snap/2048buntu/4/.local/share/systemd/log/minergate.log

Это майнер. Судя по

Со снапами дела не имел, так что возможно, что его можно просто удалить, если у этих пакетов есть какой-то свой менеджер. В крайнем случае придется переустанавливать систему, т.к. от рута программа могла сильно закрепиться в ОС.

Совсем недавно установил CS 1.6 с интернета (нативная на Ubuntu), наверное в этом причина 🙂 До этого только устанавливал обновления системы в Ubuntu Software, ну и другие безобидные программы.

поможет ли обновление до LTS 18.04? Или нужно полностью удалить систему и поставить заново? И если полностью, то безопасно ли бекапить файлы с этой зараженной системы и ставить на новую? Или на линуксе нет таких фишек как на Виндовс, где вирусы могут прятаться в файлах? 🙂

55788: 1193097237

Вспомнил про шутку: пришло время переустанавливать шиндошс!

Стоп, кажется это даже не CS 🙂
По названию снапа это нативная игрушка 2048 (на компе так и называется 2048ubuntu).
Ладно, попробую разобраться. Систему удалять не хочется.

p

поможет ли обновление до LTS 18.04?

Обновление скорее всего не поможет, т.к. с большой вероятностью все данные сохранятся, в том числе и майнер. Лучше переустановить систему полностью.

И если полностью, то безопасно ли бекапить файлы с этой зараженной системы и ставить на новую? Или на линуксе нет таких фишек как на Виндовс, где вирусы могут прятаться в файлах? 🙂

Все свои файлы из /home можешь переносить без опасений. Кроме них вряд ли будет нужно что-нибудь бэкапить.

Удалил эту игру и все стало на свои места 🙂 Спасибо тебе огромное просто.

это где ты такую годноту выкачал? Или это сразу в убунтовских репах раздают? )

55788: 1193097237

Вирусы теперь не в моде, майнеры особенно монеро в тренде

В Центре Приложений скачал. Вбил в поиск 2048. Да, не ожидал такого поворота 🙂

46349: 6746108

Интересно, куда нужно сообщить чтобы эту игру удалили с Центра Приложений. Не хочу чтоб кто-то другой также как и я думал в чем проблема.

46349: 6746108

Может быть ответят куда писать. На сайте за 10 минут поиска кнопку «пожаловаться» не нашел.

p

Маняйнерщики такие ламеры, пипец просто.

46349: 6746108

email у него тоже хорош.

91019:242199714

snap таки помойка, все-таки.

26938:1151929366

46349: 6746108

Как это не удивительно, но там тоже есть. Посмотрел на hextetris. Остальное лень смотреть.

46349: 6746108

69425:2130894266

ЛОЛ, вирусня в официальном убунтусторе? Линукс пришел к успеху.

p

Удалил эту игру и все стало на свои места

Проверь ещё не завалялись ли где стопитсотгиговые файлики.

99493: 213807979

systemd + ubuntu + snap = успех

24345:1808597202

А зачем snap-у нужен root? Разве пойнт не в том, чтобы ставить от пользователя?

160800: 518892121

В голосину с этого треда. Репозитории это надёжно, говорили они.

83525:715045631

Это не репозиторий, это таки стор, разница есть.

160800: 518892121

83525:715045631

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

Сравни с принципом маркета где загружает пакет его автор, и он в лучшем случае проходит проверку на антивирусе.

Если малварь в репозитории то мейнтейнер вылетает мейнтейнер, а это годы работы. В случае маркета автор, который практически ничем не рискует.

Ну и как подтверждение, сравните наполнение плеймаркета и репозитория по количеству малвари.

160800: 518892121

А это был автор оригинальной игры? Нет. Любой васян может загрузить туда и туда свои завирусованные поделия.

Источник

CPU Usage exceeding more than 100% in top command third line

As, seen in the above image if you sum all the values in third line it crosses 100% it gives 100.1%. Can anyone explain the usage of 3rd line output in top command?

2 Answers 2

The question asked above is for the net CPU consumption shown in the 3rd line of top output. The total sum of %CPU consumption in the 3rd line will definitely be equal to 100%. There is rounding off done for calculating individual elements, us, id, wa, sys, etc. In this particular case, it is just a matter of round off that it is reaching 100.1%

Below information is for the column of %CPU consumption of individual processes.

This depends on the number of cores that you have on your system. Every core would give you a 100% value. Therefore, if you have 4 cores, that means the total of %CPU can go up to 400%.

What do you really mean by cores?

This will give you the number of CPUs you have. From a logical point of view (as an example Intel Core i5-3570, this could be understood from cpuinfo information also)

In this there are Physical Processors = 1

Number of cores on physical processor = 4

Number of virtual cores per physical core = None

Therefore total CPUs = 4

If there were virtual cores (such as those on Xeon processors) you would more processors.

Источник

Why is the CPU usage reported by top in Linux over 100%?

I’ve seen the CPU usage go over 100%. How is this possible? Is it because I have four CPU cores, so 100% isn’t really the max?

Also, when a program does this, what else can I do in top besides using the k command?

jyNn1

4 Answers 4

AFAIK top shows the CPU usage in relation to the power of 1 core, i.e if your task takes up 200% CPU then it’s occupying two cores.

From the top man-page

So, yes, top shows CPU percentage PER core, but you can toggle this behaviour be pressing ‘I’.

Yes, if a process in top goes over 100% or top shows >1.0 in load, this means that more than one core is occupied, or the system is oversubscribed. Oversubscription means that there is more work to be put onto the core than is phsyically manageble.

You can also see all kind of information about the processes themselves, like Virtual or resident memory used by the process and if it’s sleeping or currently running, as well as cpu time used.

The load average in the top, if needed, can also be viewed by the uptime command.

CplwL

I did the following steps to verify the above answer:

In my case each core has 2 CPU threads. If top percentage showed the per core usage, the value must have been 50% but it’s not. Because top shows per CPU thread usage.

Источник

поле wa в top на VPS зашкаливает под 100%

Здравствуйте. Подскажите что обозначает поле wa в выводе top. На сервере под CentOs оно у меня всегда под 99% висит и при большой нагрузке и при её отсутствии. Не думаю что это нормально.

68049:1461913196

Параметр wa говорит о простое, связанным с вводом/выводом

Выше 80% считается не совсем нормальным и явно указывает нам на то, что процессор проводит очень много времени в ожидании ввода/вывода (обычно это означает, что выходит из строя HDD или NIC).

Если же оборудование в порядке и ЦП быстр, скорее всего, проблема в ПО. Проблемное приложение можно отловить с помощью ps axfu.

54277:1426772943

> скорее всего, проблема в ПО

@artlayers: покажи вывод vmstat

кстати, vmstat bi/bo показывает за какой промежуток времени?

37429:768233686

напиши хостеру, была такая же ситуация когда у них криво встали ограничения на хард

Система виртуализации какая, virtuozzo/openvz или xen, vmware?

Номинальные значения ЦПУ:2800МГЦ ОЗУ:1536

Как можно смотреть историю нагрузки? Не сидеть же и не смотреть постоянно в top?

И как смотреть нагрузку на VPS именно, а не на ноду в общем?

Поставить какой-нибудь munin

68049:1461913196

Незнаю, пишите хостеру. Ваша VPS как обычно стоит на ноде, на ноде несколько VPS.

68049:1461913196

2c. SUMMARY Area Fields The summary area fields describing CPU statistics are abbreviated. They provide information about times spent in: us = user mode sy = system mode ni = low priority user mode (nice) task wa = I/O waiting hi = servicing IRQs si = servicing soft IRQs st = steal (time given to other DomU instances)

Источник

В этой статье будет показана утилита top, с помощью которой можно наблюдать за активностью процессов в реальном времени.

Утилита top — это консольный диспетчер задач. Он показывает общую информацию о системе и информацию о каждом процессе. Работа этой утилиты выглядит следующим образом:

Работа утилиты top

Работа утилиты top

Вы можете почитать официальный мануал по использованию top здесь, или выполните команду man top.

Это не привычная нам утилита командной строки. Это – интерактивная утилита, то есть она постоянно обновляет данные и с ней можно взаимодействовать с помощью горячих клавиш.

Вывод данной утилиты можно разбить на две части:

  • сверху – шапка. Здесь вы можете посмотреть на общую информацию о системе;
  • ниже – информация по каждому процессу.

Общая информация о системе

Как видно, шапка состоит из пяти строк.

На первой и второй строке показана общая информация о системе:

Утилита top - общая информация о системе

Утилита top – общая информация о системе

На первой строке показаны следующие поля:

  • текущее время;
  • как долго работает система после последней загрузки;
  • сколько в системе активных пользователей;
  • средняя загрузка системы (load average) — три величины, усредненные за последние 1 и 5 и 15 минут. Чем ниже, тем лучше. Если превышает количество ядер на сервере, то значит сервер перегружен.

Ниже:

  • количество процессов;
  • количество работающих в данный момент процессов;
  • количество спящих процессов;
  • количество остановленных процессов;
  • количество зомби процессов.

На третьей строке показана информация о потреблении ЦПУ:

Утилита top - информация о потреблении ЦПУ

Утилита top – информация о потреблении ЦПУ
  • us — потребление cpu пользовательскими процессами (top и apache2);
  • sy — потребление cpu системными процессами;
  • ni — потребление cpu пользовательскими процессами, c измененным приоритетом (командой nice или renice);
  • id — простаивание cpu;
  • wa — процент времени, в течение которого процессор простаивал, ожидая завершения операции ввода-вывода. Если слишком высокое (более 10), значит за вашим процессором не поспевает диск, и нужно бы поменять его на более быстрый;
  • hi — процент времени работы аппаратных прерываний. Периферийные устройства могут прерывать работу процессора, чтобы передать какие-то данные;
  • si – процент времени работы программных прерываний. Некоторые приложения могут прерывать работу процессора, чтобы передать какие-то данные;
  • st — процент времени, когда реальный процессор не был доступен виртуальной машине. Будет расти если виртуальной машине выделить больше ядер, чем имеет гипервизор. Этот показатель имеет значение только в системах виртуализации.

Ниже видим информацию по потреблению оперативной памяти (Mem) и подкачки (Swap):

Утилита top - информация о потреблении оперативной памяти

Утилита top – информация о потреблении оперативной памяти
  • total — общее количество памяти;
  • free — количество свободной памяти;
  • used — количество используемой памяти;
  • buff / cache — память выделенная под буфер и дисковый кэш;
  • avail Mem — память которая может быть выделена для запуска новых процессов.

Информация по каждому процессу

Ниже показана информация по каждому процессу. Информация разбита на следующие колонки:

Информация по процессам

top – информация по процессам
  • PID — номер процесса;
  • USER — имя пользователя под которым работает процесс;
  • PR — приоритет процесса;
  • NI — любезность процесса, чем она выше, тем ниже приоритет;
  • VIR — общее количество памяти, которое способен адресовать процесс в данный момент времени. Включает в себя RESSHR, прикреплённые файлы (например — файлы библиотек). Также включает в себя память, которая была выделена, но не использована;
  • RES — количество физической памяти, которую использует процесс;
  • SHR — количество разделяемой памяти, которую использует процесс. Разделяемая память потенциально может быть разделена с другими процессами;
  • S — состояние процесса (я их уже описывал здесь):
    • S (sleeping) – спящий;
    • R (running) – в работе;
    • Z (zombie) – зомби;
    • D (uninterruptible sleep) – ожидает дискового ввода/вывода, и не принимает никакие сигналы;
    • T (stopped by job control signal) – остановлен специальным сигналом;
    • t (stopped by debugger during trace) – остановлен в процессе дебага;
    • I (Idle) – бездействующий поток ядра.
  • %CPU — использование cpu в процентах;
  • %MEM — RES в процентах от общего количества памяти;
  • TIME+ — сколько времени с этим процессом работал ЦПУ, с точностью до сотых долей секунды;
  • COMMAND — с помощью какой команды запустили процесс.

Опции команды top

Теперь пробежимся по основным опциям, с которыми можно запускать top.

Количество итераций

Опция -n укажет через сколько повторений нужно завершить работу top. По умолчанию чтобы выйти из top нужно нажать клавишу q. Следующая команда выйдет из top через 10 повторений:

$ top -n 10

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

Можно заставить top отображать процессы определенного пользователя с помощью опции -u:

$ top -u www-data

top - процессы пользователя www-data

top – процессы пользователя www-data

Горячие клавиши top

Режим цветности

Если во время работы top нажать клавишу z, это переключит режим цветности (белое на чёрном или черное на белом):

top - изменение режима цветности

top – изменение режима цветности

Больше информации о команде (поле COMMAND)

Если во время работы top нажать клавишу с, это заставит выводить больше информации о команде:

top - абсолютный путь команды с опциями

top – больше информации о команде процесса

Сортировка процессов

По умолчанию процессы отсортированы по колонке %CPU. Те что потребляют больше всего находятся сверху.

Чтобы выделить столбец, по которому сейчас идет сортировка, нажмите клавишу x.

top - сортировка по колонке USER

top – сортировка по колонке USER

Клавишами “<” или “>“, можно выбрать столбец, по которому нужно сортировать процессы.

А если нажать клавишу R, то сортировка пойдет в обратном порядке.

Клавиша M отсортирует процессы по потреблению памяти (%MEM).

Завершение процессов

Из top можно завершить процесс, для этого нужно нажать клавишу k, далее ввести pid процесса, который хотим завершить и нажать Enter.

По умолчанию процессу посылается сигнал 15 (sigterm). Но завершать чужие процессы можно только запустив top под пользователем root, или с помощью команды sudo.

Сигналы, которые можно посылать процессам, я разберу чуть позже в этом курсе.

Добавление полей

По умолчанию отображаются далеко не все поля. Чтобы добавить поля нажмите клавишу F. Затем, с помощью клавиш вверх и вниз, вы можете перемещаться по полям. Чтобы добавить выбранное поле нажмите клавишу d или пробел. А чтобы выбрать поле для сортировки выделите его и нажмите s. Ну и чтобы вернуться в режим просмотра, нажмите q.

top - добавление полей

top – добавление полей

Итог

Мы разобрали утилиту top для мониторинга за потреблением ресурсов Linux.

Узнали следующие опции top:

  • -n <количество> — завершить top после нескольких итераций;
  • -u <username> — показывать процессы определенного пользователя.

Узнали горячие клавиши top:

  • z – изменить цветность;
  • c – более полная команда запуска;
  • < – сортировать по предыдущему столбцу;
  • > – сортировать по следующему столбцу;
  • R – обратить сортировку;
  • M – сортировать по rss;
  • x – выделить колонку по которой ведётся сортировка;
  • k – завершить процесс;
  • F – настроить поля и сортировку.

Сводка

Утилита top – наблюдаем за процессами

Имя статьи

Утилита top – наблюдаем за процессами

Описание

В этой статье будет показана утилита top, с помощью которой можно наблюдать за активностью процессов в реальном времени

Добавить комментарий