Процессы
20 статей, по видам; порядок — как в треках.
Понятия 10
-
Мониторинг системы: с чего начать, когда сервер тормозит
Порядок разбора «сервер тормозит»: процессор, память, диск, ядро и сеть — чем смотреть каждый ресурс.
7 минvmstattopfree -h -
Load average: сколько задач ждёт процессор и диск
Среднее число задач, которые работают или ждут процессор (R) и ждут ядро (D), за 1, 5 и 15 минут.
11 минuptimenproccat -
/proc: процессы и ядро в виде файлов
/proc — файловая система, в которой ядро показывает процессы (/proc/<pid>) и себя: память, load, параметры.
10 минlsgrep -Els -l -
Память и swap: free, available и кэш страниц
Как читать free: занятая и свободная память, кэш страниц и available; swap, swap-файл и vm.swappiness.
10 минfree -hgrep -Eps -eo -
Процессы
Просмотр, сигналы и приоритеты процессов; поиск пожирателей CPU/памяти.
5 минps auxps -eopgrep -a -
OOM killer: кто и почему завершил процесс
Механизм ядра: когда память кончилась на машине или в cgroup с лимитом, завершает процесс сигналом SIGKILL.
10 минjournalctl -ksystemctl showcat -
Фоновые задачи shell — &, jobs, nohup
Запуск в фоне, управление задачами оболочки, чтобы процесс пережил выход.
3 минcmdjobs -lfg -
Unix-сокеты — связь процессов через файл
Unix-сокет — файл, через который процессы одной машины обмениваются данными; подключается тот, у кого есть право записи.
7 минls -lstat -css -xl -
ulimit и лимиты процесса: открытые файлы, процессы, core
Лимиты ресурсов процесса — открытые файлы, процессы, core: ulimit, /proc/<pid>/limits и LimitNOFILE службы.
7 минulimit -aulimitulimit -Sn -
cgroups и namespaces — как устроены контейнеры
Изоляция (namespaces) и лимиты ресурсов (cgroups) — фундамент контейнеров и systemd.
5 минlsnssystemd-cglssystemd-cgtop
Команды 10
-
stress-ng — нагрузка на процессор, память и диск по таймеру
stress-ng создаёт нагрузку на процессор, память и диск на заданное время — для опытов с load, OOM и диском.
8 минstress-ng --cpustress-ng --vmstress-ng --hdd -
iostat и pidstat — какой диск занят и какой процесс его грузит
iostat показывает загрузку дисков — запросы, задержку, %util; pidstat — процессор, память и диск по процессам.
8 минiostat -dxsyiostat -xpidstat -dl -
ps — список процессов
Команда ps показывает запущенные процессы: PID, владельца, состояние, загрузку CPU и памяти, команду запуска.
5 минpsps auxps -ef -
top — процессы и нагрузка в реальном времени
Программа top каждые несколько секунд обновляет список процессов, загрузку CPU, память и load average.
4 минtoptop -otop -u -
kill — послать сигнал процессу
Команда kill посылает процессу сигнал по PID: вежливо завершить (TERM), перечитать настройки (HUP), убить сразу (KILL).
5 минkillkill -TERMkill -HUP -
pgrep — найти PID процесса по имени
Команда pgrep печатает PID процессов по имени или командной строке, владельцу и родителю — без ps и grep.
4 минpgrep nginxpgrep -lpgrep -a -
lsof — открытые файлы и порты процессов
lsof показывает, какой процесс держит файл, порт или удалённый, но ещё открытый файл.
5 минlsof -ilsoflsof -p -
strace — какие системные вызовы делает процесс
strace показывает системные вызовы программы и их результат: какой файл не открылся, куда не подключилась, на чём висит.
7 минstrace catstrace -fstrace -e -
sleep — задержка выполнения
Приостанавливает выполнение на заданное время; не проверяет готовность другой программы.
3 минsleepsleep --help -
wait — ожидание дочерней задачи в Bash
Встроенная команда Bash: ждёт дочернюю задачу и возвращает её статус завершения.
4 минtype waithelp waitsleep
Ничего не найдено. Попробуй запрос короче.