ГлавнаяОперационные системыLinuxПроверяйте запущенные процессы как опытный пользователь

Проверяйте запущенные процессы как опытный пользователь

Проверяйте запущенные процессы как опытный пользовательВаша система Linux работает медленно? Или вам просто интересно, что происходит под капотом? Существует мощная встроенная программа под названием «ps», которая позволяет пользователям просматривать снимки процессов, запущенных в системе. Мы обсудим некоторые параметры, доступные для ps, и в заключение вы сможете проверить запущенные процессы на вашем компьютере с Linux, как опытный ботаник.

Введение

Большинство версий psподдерживают параметры стиля BSD (которые могут быть сгруппированы и НЕ ДОЛЖНЫ использоваться с тире), параметры стиля UNIX (которые могут быть сгруппированы и ДОЛЖНЫ использоваться с тире), и длинные параметры GNU (которым предшествуют два тире). В этой статье мы будем смешивать и использовать несколько типов опций с уклоном в стили UNIX. Например:

ps -u root u -sort=pid
  • UNIX STYLE -u rootопределяет user = root
  • BSD STYLE uопределяет отображение формата, ориентированного на пользователя. Это любимый вариант, поскольку выходной формат, созданный с его помощью, содержит очень полезную информацию.
  • GNU LONG OPTION -sortопределяет порядок сортировки процесса. В этом случае сортируйте по идентификатору процесса (pid)

В этой статье предпочтение отдается вариантам UNIX, а BSD используется только для краткости. Например, команда

ps u

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

показывает процессы текущего пользователя, подключенные к терминалу, с «ориентированным на пользователя» форматом вывода. Чтобы получить тот же формат вывода с использованием параметров UNIX, требуется опция

ps -o "user,pid,pcpu,pmem,vsz,rss,tty,stat,bsdstart,bsdtime,args"

Пояснения аргументов этой опции «-o»:

  • пользователь – эффективный идентификатор пользователя или имя пользователя процесса.
  • pid – идентификатор процесса
  • pcpu – время процессора, используемое процессом, разделенное на время работы процесса.
  • pmem – процент физической памяти, используемый процессом
  • vsz – размер виртуальной памяти процесса
  • rss — неподкачиваемая физическая память, которую использовал процесс.
  • tty – управляющий терминал процесса
  • stat – состояние процесса, определяемое с помощью кодов состояния процесса (дополнительную информацию читайте на страницах руководства)
  • start_time – время запуска команды
  • время – совокупное время процессора, используемое процессом
  • args – команда, используемая для запуска процесса, вместе с ее аргументами. (Это одна из причин, почему никогда не стоит запускать команду и вводить свой пароль в качестве аргумента командной строки. Любой другой пользователь в системе может запустить psи просмотреть запущенные вами команды, а также со всеми переданными параметрами и аргументами).

В дальнейшем будет использоваться команда (ps), за которой следует опция BSD ‘u’ для указания форматирования вывода, а затем опции UNIX и GNU по мере необходимости.

Некоторые варианты PS

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

Чтобы показать все запущенные процессы:

ps u -e

Чтобы показать все процессы текущего пользователя:

ps u -u `whoami`

Чтобы показать все процессы текущего пользователя, но отсортированные по использованию процессора (по убыванию).

ПРИМЕЧАНИЕ. В приведенной ниже команде мы используем «-pcpu» для снижения процентного использования процессора. Для возрастания используйте «+pcpu» или просто «pcpu». Дополнительные спецификаторы сортировки можно найти на страницах руководства. Некоторые распространенные из них: pmem (использование памяти), start_time (время выполнения команды) и time (количество процессорного времени, использованное командой).

ps u -u `whoami` --sort=-pcpu

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

ps u -jH -u `whoami`

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

Используя каналы, ps можно объединить с head, чтобы отобразить верхние процессы. Следующая команда сначала сортирует данные по использованию памяти, а затем передает данные через head, чтобы показать процессы, использующие больше всего памяти. По умолчанию Head отображает первые десять строк, поэтому эта команда покажет девять верхних процессов (выходной заголовок — это первая строка).

Примечание: «%mem» и «pmem» являются синонимами, как и «%cpu» и «pcpu».

ps u -u `whoami` --sort=-%mem | head

Эта команда покажет 9 основных процессов.

Чтобы показать одно и то же для всех процессов, независимо от пользователя, используйте параметр -e:

ps u -e --sort=-%mem | head

Заключение

Существуют буквально сотни вариантов (хотя некоторые из них являются псевдонимами), и мы хотели бы услышать и увидеть ваши любимые методы использования. Поделитесь, пожалуйста, в комментариях ниже.

ПОХОЖИЕ СТАТЬИ

Популярные записи