cgroups
8 commands
8 shown
Учёт памяти сервиса (cgroup v2)
Текущее потребление памяти против жёсткого лимита сервиса; current около max — скорый OOM
cat /sys/fs/cgroup/system.slice/<name>.service/memory.current /sys/fs/cgroup/system.slice/<name>.service/memory.max
Память: задержки по PSI
PSI: время простоя задач из-за реклейма памяти; рост avg10 — троттлинг до OOM
cat /sys/fs/cgroup/system.slice/<name>.service/memory.pressure
Статистика троттлинга CPU (cgroup v2)
Сколько раз и на сколько мкс cgroup троттлился по квоте cpu.max
grep -E 'nr_throttled|throttled_usec' /sys/fs/cgroup/system.slice/<name>.service/cpu.stat
Чтение и установка квоты CPU (cgroup v2)
cpu.max — это 'квота период' в мкс; 'max' — без лимита. note: лучше systemctl set-property
cat /sys/fs/cgroup/system.slice/<name>.service/cpu.max # "max 100000" = unlimited; "50000 100000" = 0.5 core
Давление и статистика IO по устройствам
PSI по IO плюс rbytes/wbytes/rios по major:minor; ловит шумных соседей по диску
cat /sys/fs/cgroup/system.slice/<name>.service/io.pressure /sys/fs/cgroup/system.slice/<name>.service/io.stat
Список PID в cgroup сервиса
Все PID в слайсе сервиса; сверка с деревом из systemctl status
cat /sys/fs/cgroup/system.slice/<name>.service/cgroup.procs; systemctl status <name>.service | grep CGroup
Полное дерево cgroup с пустыми группами
cgls --all показывает и пустые cgroup; cgtop ранжирует слайсы по CPU/памяти/io
systemd-cgls --all --no-pager; systemd-cgtop -d 2 --depth=3
Разовый cgroup в legacy v1
Разовый лимит через libcgroup v1. note: в единой иерархии v2 используйте systemd-run --scope -p
cgcreate -g memory:/<name>; cgset -r memory.limit_in_bytes=512M <name>; cgexec -g memory:/<name> <command>
no commands match