在 systemd 场景下的 CPU 限制方式


一、核心区别

项目 cgroup v1 cgroup v2
是否支持 CPUQuota= systemd 模拟 原生支持
CPU 子系统 独立:cpu, cpuacct 统一:cpu
关键文件 cpu.cfs_quota_us cpu.max
systemd 推荐方式 set-property或 直接写文件 set-property
是否全局 system.slice system.slice
重启后是否失效 临时 临时

二、如何判断用的是 v1 还是 v2

复制代码
stat -fc %T /sys/fs/cgroup
输出 含义
tmpfs cgroup v1
cgroup2fs cgroup v2

三、已有 systemd unit 临时限制 CPU

假设 unit 为:xj.service


cgroup v1

方式 1:直接写 cgroup(最稳)

复制代码
# 查看路径
systemctl show xj.service -p ControlGroup

# 设置 20%
echo 20000 | sudo tee /sys/fs/cgroup/cpu/system.slice/xj.service/cpu.cfs_quota_us
  • 周期默认:100000微秒
  • 20000 / 100000 = 20%

立即生效, 重启 / 机器后失效


方式 2:systemctl(推荐)

复制代码
sudo systemctl set-property xj.service CPUQuota=20%

⚠️ 前提:

复制代码
CPUAccounting=yes

如果没开:

复制代码
sudo systemctl set-property xj.service CPUAccounting=yes
sudo systemctl restart xj.service

取消限制

复制代码
echo -1 | sudo tee /sys/fs/cgroup/cpu/system.slice/xj.service/cpu.cfs_quota_us

或:

复制代码
sudo systemctl set-property xj.service CPUQuota=

cgroup v2

方式 1:systemctl( 官方推荐)

复制代码
sudo systemctl set-property xj.service CPUQuota=20%

立即生效,不修改 unit 文件,重启后失效


方式 2:直接写 cgroup(高级)

复制代码
cat /sys/fs/cgroup/system.slice/xj.service/cpu.max

设置为 20%:

复制代码
echo "20000 100000" | sudo tee /sys/fs/cgroup/system.slice/xj.service/cpu.max

取消限制

复制代码
sudo systemctl set-property xj.service CPUQuota=

或:

复制代码
echo "max 100000" | sudo tee /sys/fs/cgroup/system.slice/xj.service/cpu.max

四、systemd 命令在 v1 / v2 下的行为差异

systemd 命令 cgroup v1 cgroup v2
CPUQuota= systemd 转换 原生支持
CPUWeight=
IOWeight=
直接写文件 推荐 可用

相关推荐
wanQQ1 小时前
在 KDE 中将 Nemo 设为默认文件管理器后,浏览器仍调用 Dolphin 的解决方案
linux
认真的薛薛1 小时前
Linux基础:GitOps发布流程
java·linux·运维
dislike_shuati1 小时前
Ubuntu18多用户情况一用户桌面卡死,鼠标能动但点击没用——解决办法
linux·运维·服务器
Yeats_Liao1 小时前
物联网接入层技术剖析(四):当epoll遇见MQTT
java·linux·服务器·网络·物联网·架构
zzzyyy5382 小时前
利用AI整理进程池创建的思路和细节
linux
zandy10113 小时前
2026 主流技术栈:hermes agent多环境安装配置:Windows/Mac/Linux
linux·windows·macos
s_w.h3 小时前
【 linux 】理解进程状态
linux·运维·服务器
Fcy6483 小时前
Linux下 动、静态库的制作、使用与原理和ELF文件解析
linux·elf·动、静态库
身如柳絮随风扬3 小时前
CentOS 7 搭建 MySQL 主从复制集群:从零到生产级高可用
linux·mysql·centos
流年随风3 小时前
在LINUX服务器 CentOS 7中同步网络时间
linux·服务器·centos