CPU:

? CPU Cgroup 是 Cgroups 其中的一個 Cgroups 子系統(tǒng),它是用來限制進(jìn)程的 CPU 使用的。

限制的是用戶態(tài)的CPU us和ni,對內(nèi)核態(tài)不限制sy、wa、hi、si

目錄:/sys/fs/cgroup/cpu

重要參數(shù):

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相關(guān)配置
cpu.shares # 值為102 折合下來就是100m
# limits相關(guān)
cpu.cfs_period_us # 100000
cpu.cfs_quota_us # 20000
limit = cpu.cfs_quota_us/cpu.cfs_quota_us = 0.2 = 200m

內(nèi)存

??目錄:/sys/fs/cgroup/memory

?重要參數(shù)

memory.limit_in_bytes:限制控制組所有進(jìn)程可使用內(nèi)存的最大值
memory.oom_control :當(dāng)控制組內(nèi)存達(dá)到上限時,這個參數(shù)決定是否觸發(fā)OOM,默認(rèn)殺死,可以更改為1不殺死
memory.usage_in_bytes:只讀參數(shù),當(dāng)里面數(shù)值和memory.limit_in_bytes越接近,OOM kill幾率越高
memory.soft_limit_in_bytes: 這個限制不會阻止進(jìn)程超過限制內(nèi)存,只是在系統(tǒng)內(nèi)存足夠時候,會優(yōu)先回收

??