CPU:
CPU Cgroup 是 Cgroups 其中的一个 Cgroups 子系统,它是用来限制进程的 CPU 使用的。 限制的是用户态的CPU us和ni,对内核态不限制sy、wa、hi、si 目录:/sys/fs/cgroup/cpu 重要参数: k8s资源限制示例:
resources
limits
cpu 200m
memory 170Mi
requests
cpu 100m
memory 70Mi
通过dockr ps找到目录,然后查询
cd /sys/fs/cgroup/cpu/
find . -name "*67ea4b49450c*"
cd /sys/fs/cgroup/cpu/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod102e9626_1afa_4cad_a810_f513d80018be.slice/docker-67ea4b49450cc33fd87c52121df77a3fb636ce21934e0183ca539d86a191bbf5.scope
# requests相关配置
cpu.shares # 值为102 折合下来就是100m
# limits相关
cpu.cfs_period_us # 100000
cpu.cfs_quota_us # 20000
limit = cpu.cfs_quota_us/cpu.cfs_quota_us = 0.2 = 200m
内存
目录:/sys/fs/cgroup/memory 重要参数
memory.limit_in_bytes:限制控制组所有进程可使用内存的最大值
memory.oom_control :当控制组内存达到上限时,这个参数决定是否触发OOM,默认杀死,可以更改为1不杀死
memory.usage_in_bytes:只读参数,当里面数值和memory.limit_in_bytes越接近,OOM kill几率越高
memory.soft_limit_in_bytes 这个限制不会阻止进程超过限制内存,只是在系统内存足够时候,会优先回收