给 systemd 服务加上资源限制
家里那台小主机跑着十几个服务,某天一个同步脚本内存泄漏把整机拖死了。之后给所有自建服务都加了 cgroup 限制,写在 drop-in 里,升级软件包也不会被覆盖。
# systemctl edit sync-job.service
[Service]
MemoryMax=512M
CPUQuota=50%
TasksMax=64
改完用 systemctl show sync-job -p MemoryMax 确认生效。systemd-cgtop 能实时看到每个服务的占用,比 top 里一堆进程名好认得多。