Использование ps для мониторинга процессов
Утилита ps выводит статистику и информацию о состоянии процессов в системе, в том числе ID процесса или нити, объем выполняемого ввода-вывода и используемый объем ресурсов ЦП и памяти. ps поддерживает опции в стиле трех разных типов UNIX. Опции в стиле Unix98 состоят из одного или нескольких символов, перед которым(и) должен стоять дефис. Опции в стиле BSD имеют аналогичный вид, только используются без дефиса. Опции, характерные только для GNU-версии представляют собой слово, перед которым должно стоять два дефиса. Их нельзя объединять, как однобуквенные опции двух предшествующих типов. Таким образом, существует три равноправных формата задания этой команды (при этом опции разных типов нельзя употреблять в одной команде):
ps [-опции] ps [опции] ps [-- длинное_имя_опции [-- длинное_имя_опции] ...]
Рассмотрим информацию выводимую ps на примере процесса демона radiusd.
# 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
Описание выводимых столбцов.
- С. Показатель использования ЦПУ (central processing unit, CPU) процессом (в тактах; в первом приближении тактовая частота характеризует производительность подсистемы (процессора, памяти и пр.), то есть количество выполняемых операций в секунду).
- 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)
# ps L %cpu %CPU %mem %MEM cpuid CPUID cputime TIME
- Вывести 10 процессов, занимающих больше всего ЦП
# 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
- Выдать информацию о параметрах безопасности
# ps -eo euser,ruser,suser,fuser,f,comm,label # ps axZ # ps -eM
- Выдать 10 процессов, потребляющих наибольшее количество памяти
# ps -auxf | sort -nr -k 4 | head -10
- Вывести информацию (объем используемой ОЗУ) о процессе по его PID
# ps -fp 28964 UID PID PPID C STIME TTY TIME CMD apache 28964 13246 0 Feb15 ? 00:01:14 /usr/sbin/httpd

Friendhosting - Разумные цены на хостинг
VDS/VPS сервер от 3.49€ в месяц. Много ресурсов. Высокая надежность. Гибкое управление. Удобная оплата. Настройка под вас!
friendhosting.net
Антидетект браузер Dolphin{anty} бесплатно до 10 профилей
Dolphin разработан для работы с такими сложными ресурсов, как Google, Facebook и Coinlist.
Английский для IT‑специалистов по Skype
Персональные занятия по разумным ценам. 80% разговорной практики. Персональный график!
skyeng.ru