Инструменты пользователя

Инструменты сайта


ps

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

ps [2018/12/30 02:38] (текущий)
Строка 1: Строка 1:
 +====== Использование ps для мониторинга процессов ======
 +{{htmlmetatags>​
 +metatag-description=(Использование утилиты ps. Утилита ps генерирует отчет, который содержит статистические данные о выполнении текущих процессов в Linux.)
 +}}
 +
 +
 +Утилита **ps** выводит статистику и информацию о состоянии процессов в системе,​ в том числе ID процесса или нити, объем выполняемого ввода-вывода и используемый объем ресурсов ЦП и памяти. ps поддерживает опции в стиле трех разных типов UNIX. Опции в стиле Unix98 состоят из одного или нескольких символов,​ перед которым(и) должен стоять дефис. Опции в стиле BSD имеют аналогичный вид, только используются без дефиса. Опции, характерные только для GNU-версии представляют собой слово, перед которым должно стоять два дефиса. Их нельзя объединять,​ как однобуквенные опции двух предшествующих типов. Таким образом,​ существует три равноправных формата задания этой команды (при этом опции разных типов нельзя употреблять в одной команде):<​file>​
 +ps [-опции]
 +ps [опции]
 +ps [-- длинное_имя_опции [-- длинное_имя_опции] ...]
 +</​file>​
 +
 +
 +Рассмотрим информацию выводимую ps на примере процесса демона radiusd.
 +<​file>​
 +# ps aux | grep radiusd
 +USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
 +root     ​16797 ​ 1.2  7.7 2277272 1277644 ?     ​Ssl ​ Feb15  37:21 /​usr/​local/​radiusd
 +
 +# ps -ef | grep radiusd
 +UID        PID  PPID  C STIME TTY          TIME CMD
 +root     ​16797 ​    ​1 ​ 1 Feb15 ?        00:37:22 /​usr/​local/​radiusd
 +
 +# ps v 16797
 +  PID TTY      STAT   ​TIME ​ MAJFL   ​TRS ​  ​DRS ​  RSS %MEM COMMAND
 +16797 ?        Ssl   ​38:​29 ​     2  2069 2275202 1280524 ​ 7.7 /​usr/​local/​radiusd
 +</​file>​Описание выводимых столбцов.
 +  * **С**. Показатель использования [[ЦП]] процессом (в тактах;​ в первом приближении тактовая частота характеризует производительность подсистемы (процессора,​ памяти и пр.), то есть количество выполняемых операций в секунду).
 +  * **TIME**. Общее процессорное время, затраченное на выполнение процесса (в единицах времени).
 +  * **%CPU**. Этот параметр отражает зависимость программы от процессора. Значение %CPU указывает,​ какой процент процессорного времени был потрачен на выполнение процесса с момента его запуска. Это значение подсчитывается по следующей формуле:​ (время ЦП, затраченное на выполнение процесса / время выполнения процесса) * 100, в системе SMP это значение делится на число ЦП, работающих в системе.
 +  * **STIME**. Время старта процесса.
 +  * **RSS**. Объем физической памяти,​ занятой процессом,​ в килобайтах. Это значение равно числу страниц из рабочего сегмента памяти и из сегмента кода программы,​ находящихся в оперативной памяти,​ умноженному на 4. Не забывайте,​ что сегмент кода программы применяется всеми запущенными экземплярами программы. Если запущено 26 процессов ksh, в оперативной памяти будет находиться только одна копия страниц с исполняемым кодом ksh, однако в выводе команды ps размер этих страниц будет прибавлен к значению RSS всех экземпляров программы ksh.
 +  * **TRS**. Размер резидентной (размещенной в физической памяти) командной части программы. Это значение равно числу страниц с кодом программы,​ умноженному на 4. Это значение искажает фактический объем памяти,​ занятый программой,​ если запущено несколько экземпляров программы.
 +  * **%MEM** Это значение указывает,​ какую долю (в процентах) от общего объема оперативной памяти компьютера составляет значение **RSS**. Оно характеризует долю физической памяти,​ занятой процессом. К сожалению,​ как и RSS, эта величина переоценивает загрузку памяти процессами,​ которые совместно используют командную часть программы. Кроме того, округление до ближайшего целого значения приводит к тому, что значение %MEM будет равно 0,0, если отношение RSS к объему оперативной памяти меньше 0,005.
 +====== Примеры использования:​ команда ps aux ======
 +  * Полный список команд ps можно увидеть (например для использования с ключом -o)<​file>​
 +# ps L
 +%cpu         ​%CPU ​   ​
 +%mem         %MEM
 +cpuid        CPUID   
 +cputime ​     TIME 
 +</​file> ​   ​
 +  ​
 +  * Вывести 10 процессов,​ занимающих больше всего ЦП <​file>​
 +# ps -eo pcpu,​pid,​user,​args | sort -k 1 -r | head -10
 +# ps -eo pcpu,​pid,​user,​args | sort -r -k1 | less
 +# ps -auxf | sort -nr -k 3 | head -10
 +</​file>​
 +  * Выдать информацию о параметрах безопасности<​file>​
 +# ps -eo euser,​ruser,​suser,​fuser,​f,​comm,​label
 +# ps axZ
 +# ps -eM
 +</​file>​
 +  * Выдать 10 процессов,​ потребляющих наибольшее количество памяти<​file>​
 +# ps -auxf | sort -nr -k 4 | head -10
 +</​file>​
 +  * Вывести информацию (объем используемой ОЗУ) о процессе по его PID<​file>​
 +# ps -fp 28964
 +UID        PID  PPID  C STIME TTY          TIME CMD
 +apache ​  28964 13246  0 Feb15 ?        00:01:14 /​usr/​sbin/​httpd
 +</​file>​
  
ps.txt · Последние изменения: 2018/12/30 02:38 (внешнее изменение)