Использование 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
Читайте также: Как находить и удалять zombie процессы в Linux
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах