TGViewer
ServerAdmin.ru ServerAdmin.ru @srv_admin · 32.6K subscribers
Post #1957 8.33K
​​Одна из наиболее часто используемых команд консоли Linux, которую я набираю - ps (processes status). Это небольшая утилита для просмотра информации о запущенных процессах. У неё огромное количество ключей для представления информации. Если её запустить без них, то она покажет только список процессов данного терминала. Их может вообще не быть, кроме самой оболочки, в которой она запущена.

Сразу покажу команду, которую я использую чаще всего:
# ps ax
Выводит все процессы без привязки к пользователю и терминалу. Этот вывод чаще всего приходится грепать, чтобы посмотреть информацию по конкретному процессу. Например, поменял конфигурацию php-fpm на запуск определённого количества процессов, перезапустил демон и проверил, что процессов столько, сколько надо:
# ps ax | grep php-fpm
Можно сразу же пересчитать их количество для какого-то конкретного пула, если меняли только его настройки:
# ps ax | grep php-fpm | grep www | wc -l
Подозреваю, что тут можно и с одним грепом как-то обойтись, но я всегда делаю так. Либо можно использовать такой вариант:
# ps -F -C php-fpm
Но опять же, лично я привык использовать grep от полного списка. Вспоминать ключи не надо.

Если добавить ключ u, то можно посмотреть инфу об использовании ресурсов системы каждым процессом:
# ps axu
Лично я так редко делаю, привык смотреть эту инфу через htop. Почти всегда его ставлю, если сам настраиваю сервера и активно использую.

Полезно добавить к выводу ps ключ --forest, чтобы получить иерархический список процессов. Если просматриваете его весь, то будет нагляднее для анализа:
# ps ax --forest

Если вывод ps слишком длинный, вместо того, чтобы потом скролить терминал, можно добавлять less
# ps ax --forest | less
Less полезно использовать, чтобы увидеть полные строки процессов с параметрами, так как при таком просмотре выполняется перенос строк. Чтобы строки не обрезались, надо дважды добавить ключ -w
# ps ax -w -w

Теперь немного инфы из закладок. Не запоминал эти конструкции.
Вывод списка процессов с отображением информации о потребляемых CPU и MEM с сортировкой по первому:
# ps -e -o pcpu,pmem,args --sort -pcpu
Иногда бывает полезно этот список сверху обрезать:
# ps -e -o pcpu,pmem,args --sort -pcpu | head -10

Список самых тяжёлых процессов по памяти с выводом информации о pid и user этого процесса. Ну и заодно столбцы с mem и cpu переносим вправо, чтобы удобнее смотреть было:
# ps -eo pid,user,cmd,%mem,%cpu --sort=-%mem | head -10

Если к командам выше добавить watch, то эту информацию можно смотреть в режиме реального времени:
# watch -n 1 'ps -eo pid,user,cmd,%mem,%cpu --sort=-%mem | head -10'

Ну и в завершении ПАПА-скрипт, который соберёт информацию обо всех процессах, в том числе с повторяющимися именами, просуммирует их потребление и выведет общий список:
# ps axo rss,comm,pid | awk '{ proc_list[$2] += $1; } END \
{ for (proc in proc_list) { printf("%d\t%s\n", proc_list[proc],proc); }}' \
| sort -n | tail -n 10 | sort -rn \
| awk '{$1/=1024;printf "%.0fMB\t",$1}{print $2}'

#bash #terminal
  • 👍 126
  • 👎 2
More from @srv_admin
  1. Sep 23, 2026Очередная подборка статей авторов, которые согласились в ней участвовать. Кто не понимает,…
  2. Sep 23, 2026Контейнеры в одном инструменте, виртуалки — в другом, частное облако — вообще отдельная ис…
  3. Sep 23, 2026Расскажу тем, кто не знает, и напомню тем, кто забыл, как я. Не надо в Proxmox в LXC конте…
  4. Sep 22, 2026Недавно случайно заметил любопытную информацию на тему Proxmox VE и новой функциональности…
  5. Sep 22, 2026✔️ Сети для всех — сообщество для тех, кто развивается в сетевом и системном администриров…
  6. Sep 22, 2026Я ранее уже рассказывал, что приобрёл себе домой полноценную серверную платформу на базе S…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →