Легко. Иногда нужно прижать прожорливую программу — и тут помогают стандартные утилиты Linux:
cpulimit, ulimit и cgroups.Простейший пример с cpulimit:
cpulimit -l 30 -p 1234
-l 30 ограничивает процесс до 30% CPU, -p — PID процесса.С ulimit можно задать лимит памяти на сессию:
ulimit -v 1048576
./heavy_app
Здесь процесс не сможет выйти за пределы 1 ГБ виртуальной памяти.
Через cgroups — более гибко:
echo 50000 > /sys/fs/cgroup/cpu/mygrp/cpu.cfs_quota_us
echo 100000 > /sys/fs/cgroup/cpu/mygrp/cpu.cfs_period_us
Такой трюк позволяет закрепить процесс за группой и задать ему конкретный квант CPU.
🔥 Эти методы — альтернатива Docker-лимитам, когда контейнеризация не используется, а контроль ресурсов всё равно нужен.
➡️ DevOps Ready | #практика