1. CPU 资源限制:可以使用 systemd 的 CPUQuota、CPUShares 和 CPUWeight 属性来限制服务的 CPU 使用量。
CPUQuota :指定一个百分比值,用于限制服务的 CPU 使用时间。例如,设置为200%,表示服务可以使用的 CPU 时间为两个CPU的总时间。
CPUShares :指定一个相对权重值,用于控制服务在 CPU 分配上的优先级。权重越高,服务获得的 CPU 时间越多。
CPUWeight :类似于CPUShares,但是使用更细粒度的权重控制,范围在 1-10000 之间,默认为 100。
[Service] CPUQuota=50%
2. 内存资源限制:可以使用 systemd 的 MemoryLimit 属性来限制服务的内存使用量。
MemoryLimit :指定服务的内存使用上限。可以使用字节(如 100M、1G)或百分比(如 50%)表示。
[Service] MemoryLimit=1G
3. 重新加载 systemd 配置文件:在对服务的 systemd 配置文件进行更改后,需要使用以下命令重新加载 systemd 配置:
sudo systemctl daemon-reload
4. 重启服务:在应用了上述更改后,需要重新启动服务以使其生效:
sudo systemctl restart <service-name>
ps -p <service pid> -o command,rss,%cpu