首页/系统/Linux 运维命令速查/cgroup v2 资源限制观察
性能与监控48 条

cgroup v2 资源限制观察

现代发行版默认 cgroup v2 统一层级:memory.max/cpu.weight/io.max 是单元与容器限制的落点,配合 systemd 资源指令可查可用。

Linux 运维命令速查系统更新于 2026-10-12
用途观察与理解资源限制生效点
入口/sys/fs/cgroup/…(cgroup.controllers 等)
关联systemd CPUWeight/MemoryMax/IOWeight)

检查环境与限制

检查环境与限制
mount | grep cgroup           # cgroup2 挂载在 /sys/fs/cgroup
cat /sys/fs/cgroup/cgroup.controllers

# 单元级限制查看
systemctl show myapp -p MemoryMax -p CPUWeight -p IOWeight
cat /sys/fs/cgroup/system.slice/myapp.service/memory.max 2>/dev/null

单元限制示例

单元限制示例
sudo systemctl edit myapp
# [Service]
# MemoryMax=2G
# MemoryHigh=1.5G
# CPUWeight=50
# IOWeight=100
memory.high 是软性挤压(开始回收)、memory.max 是硬上限(触发 OOM kill);治理内存问题先 high 后 max。

易错点

  • cgroup v1 时代的参数名(memory.limit_in_bytes)在 v2 全部换了,老脚本要改
  • 限制过紧引发 OOM kill 时先看 dmesg 的 oom 记录与 memory.events 计数

数据来源与参考

  • 内核文档:cgroup-v2.rst
  • man 5 systemd.resource-control
  • systemd 官方文档:resource control

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌