top
top -c выводит полный путь к исполняемым файлам с ключами, вместо названия
top -H выводит потоки процессов
top -i не выводит процессы, которые не используют ресурсы процессора
top -o %CPU отсортировать по CPU
top -o %MEM отсортировать по Memory
htop
space выделить несколько процессов (отменить Shift+U)
u выбрать конкретного пользователя
l посмотреть файлы, которые использует процесс
s отобразить статистику системных вызовов (strace PID attached) F8 - AutoScroll, F4 - Filter, F9 - Stop/Start Tracing
F4 фильтр по ключевому слову (например, cron)
F5 древовидная структура
F6 сортировка (PERCENT_CPU/PERCENT_MEM/USER/PRIORITY/TIME)
F7 повысить приортите (до -20), чем меньше приоритет, тем больше процессорного времени отводится процессу
F8 понизить приоритет (до 19)
F9/K действие с процессом (сигналы), для завершения процесса: 15, 2, 3, 9 или 19
S (STATE) состояние процесса
R [running or runnable] запущенные или находятся в очереди на запуск
S [interruptible sleep] прерываемый сон (не исполняется процессором и ждет события или условия для запуска)
D [uninterruptible sleep] непрерываемый сон (кратковременное состояние, которое невозможно остановить сигналом, т.к. процесс не может на него ответить)
Z [zombie] завершенный процесс, ожидающий пока родительский процесс примет результат
T остановленный сигналом SIGSTOP (-19/CTRL+Z)
X мертвый (не должен показываться)
bpytop
sudo apt install bpytop
pip3 list | grep psutil проверить пакет
pip3 install psutil --break-system-packages установить пакет в обход ограничений
python3 -m venv myenv создать виртуальное окружение
source myenv/bin/activate активировать виртуальное окружение
pip install psutil установить библиотеку для получения информации о системе
bpytop
deactivate
atop
apt install atop
nano /etc/default/atop
LOGINTERVAL=10
systemctl restart atop
atop -g показать общую информацию о процессе (по умолчанию)
atop -m показать информацию о процессах, связанных с памятью
atop -d показать информацию о процессах, связанных с дисками
atop -n показать информацию о процессах, связанных с сетью
atop -v показывать различную информацию о процессах (PPID родителя, пользователь/группа, дата/время)
atop -c показать командную строку для каждого процесса
atop -A сортировать процессы в порядке наибольшей активности ресурсов (автоматический режим)
atop -C сортировать процессы в порядке потребления процессора (по умолчанию)
atop -M сортировать процессы в порядке потребления памяти
atop -D сортировать процессы в порядке дисковой активности
atop -N сортировать процессы в порядке сетевой активности
atop -E сортировать процессы в порядке активности GPU
iftop
apt install iftop установить пакет
iftop -ti ens33 использовать текстовый интерфейс без ncurses
iftop -ts 1 -i ens33 печать одного единственного текстового вывода (-s) через 1 секунд, затем выход из системы
iftop -tL 0 -s 1 -i ens33 количество строк (-L) для печати
iftop -ni ens33 не преобразовывать имена хостов
iftop -Ni ens33 не преобразовывать номера портов в сервисы
iftop -pi ens33 работать в режиме promiscuous (показывать трафик между другими хостами в одном сегменте сети)
iftop -bi ens33 не отображать гистограмму трафика
iftop -Bi ens33 отображать пропускную способность в байтах
iftop -o 10si ens33 сортировка по второму столбцу (среднее значение трафика за 10 секунд, значение по умолчанию)
iotop
apt install iotop
iotop -o показывать только процессы или потоки, фактически выполняющие ввод-вывод
iotop -ou mysql показывать активные процессы от пользователя
iotop -P показывать только процессы, без потоков
iotop -p PID
top other
pip install --user glances кроссплатформенный инструмент мониторинга системы на Python (https://github.com/nicolargo/glances)
glances
snap install bashtop монитор ресурсов на Bash (https://github.com/aristocratos/bashtop)
bashtop
npm install gtop -g панель мониторинга системы для терминала на JavaScript (https://github.com/aksakalli/gtop)
gtop
snap install bottom кроссплатформенный графический монитор системы и процессов на Rust (https://github.com/ClementTsang/bottom)
bottom
curl -sL https://raw.githubusercontent.com/wimpysworld/deb-get/main/deb-get | sudo -E bash -s install deb-get && deb-get install zenith как top, но с масштабируемыми графиками, а также использованием CPU, GPU, сети и дисков на Rust (https://github.com/bvaisvil/zenith)
zenith
ps
apt-get install -y procps установить пакет procps
pstree -a отобразить все (-a) работающие процессы (демоны) и их дочерние в виде дерева
ps -FA отобразить подробный вывод (-F, PPID - родительский процесс) всех (-A) работающих процессов
ps -LFC mysqld отобразить потоки (-L) в колонках LWP и NLWP конкретного процесса по имени (-C)
ps -Fl отобразить приостановленные процессы (фоновые задания &)
ps f -F отображает активные процессы текущего пользователя
ps f -u root активные процессы указанного пользователя
ps -o pid -u lifailon вывести только pid процессов запущенных конкретным пользователем
ps -p 3618275 найти процесс по его PID (-p/-s)
ps -aux --sort -rss выбрать все процессы, кроме фоновых (-a), сопоставлять с именем пользователя (-u), все процессы вне терминала (-x) и отсортировать по RSS, добавляется %CPU и %MEM
ps -lax не сопоставляются идентификаторы процессов с именами пользователей, к выводу добавляется WCHAN - ресурс, которого ожидает процесс
ps -FA --sort time сортировать по времени работы процесса
ps -Ao comm,user,rss,vsz,command отфильтровать вывод по потреблению памяти, названию команды/процесса и полному вызову команды с ключами
PRI приоритет процесса
NI уступчивость процесса (nice value от 19 до -20)
(($PRI+$NI))=((39+-20))=19
TTY терминал, из под которого запущен процесс
TIME общее время процессора, затраченное на работу процесса (bsdtime/cputime/time) или накопленное процессорное время (пользовательское + системное)
STIME время запуска команды (bsdstart), если процесс был запущен менее 24 часов назад, то формат вывода будет HH:MM, если больше, то Mmm:SS (Sep 18)
C целочисленное значение процента времени процессора (%CPU) за время жизни процесса
%CPU процент времени центрального процесса выделенного процессу или использование процессорного времени деленное на время работы процесса (pcpu)
%MEM процент реальной памяти, используемой процессом или отношение размера резидентного набора процесса к объему физической памяти на машине (pmem)
SZ размер в физических страницах образа ядра процесса. Сюда входят текст, данные и пространство стека
RSS постоянное потребление физической памяти (Resident Set Size non-swapped), реальный размер процесса в оперативной памяти, которую процесс занял (то есть что-то сохранил в память)
VSZ виртуальная память (Virtual Memory Size) в килобайтах (1024-байтных единицах), которую выделили процессу, но это не означает, что он успел в эту память что-то записать
LWP идентификатор дочернего потока (Light-Weight Process), будет выведен текущий ID если один или первый поток
NLWP количество (Number) дочерних потоков (ps -LFC mysqld | sed 1d | wc -l)
PSR ядро процессора, на котором выполняется процесс
STAT R - выполняется, D - ожидает записи на диск, S - неактивен (<20 с), T - приостановлен, Z - зомби, с дополнительными флагами (W - процесс выгружен на диск, < - процесс имеет повышенный приоритет, N - процесс имеет пониженный приоритет, L - некоторые процессы блокированы в ядре, s - процесс является лидером сеанса)
maj_flt количество крупных страничных ошибок, произошедших с данным процессом
min_flt количество мелких ошибок страниц
ps -Ao comm,user,cputime,pcpu,pmem,sz,rss,vsz,nlwp,psr,pri,ni --sort cputime