systemd 限制内存、cpu
时间: 2023-09-16 20:09:10 浏览: 568
systemd 可以通过 cgroup 控制组实现限制内存和 CPU 的功能。cgroup 控制组是一种 Linux 内核提供的机制,可以对进程进行资源限制。
下面是通过 systemd 对一个服务进行内存和 CPU 限制的示例:
1. 创建一个 systemd 服务文件
```
sudo nano /etc/systemd/system/my-service.service
```
2. 在文件中添加以下内容:
```
[Unit]
Description=My Service
[Service]
ExecStart=/path/to/my-binary
CPUAccounting=true
MemoryAccounting=true
MemoryLimit=1G
CPUQuota=50%
[Install]
WantedBy=multi-user.target
```
在这个示例中,`CPUAccounting` 和 `MemoryAccounting` 分别启用了 CPU 和内存的资源计算。`MemoryLimit` 设置了最大内存限制为 1G,`CPUQuota` 设置了最大 CPU 占用率为 50%。
3. 重新加载 systemd 配置文件
```
sudo systemctl daemon-reload
```
4. 启动服务
```
sudo systemctl start my-service
```
现在,该服务将受到 CPU 和内存限制。可以使用 `systemctl status my-service` 命令来查看服务的状态和资源使用情况。
阅读全文