不修改 Pod 调整资源限制
当 Pod 内存使用率很高的情况下,如果内存使用率降不下去需要进行资源扩容。但是扩容过程会导致 Pod 的滚动,就不能直接修改资源使用量,需要从资源隔离的内部解决。
1、修改 Mem Limit 数据
1.1 查看容器 ID
docker ps | grep ${POD名称} | awk '{print $1}'
# [root@node-34251077-18 /]# docker ps | grep api-deployment-7bf465f477-d9mdk | awk '{print $1}'
# 4584a1f2204e
# 9ff8d01cb1251.2 查看进程 ID
docker inspect ${容器ID} | grep '"Pid":'
# [root@node-34251077-18 /]# docker inspect 4584a1f2204e | grep '"Pid":'
# "Pid": 18664681.3 查看 cgroup 具体存储路径
cat /proc/${PID}/cgroup | grep mem
# [root@node-34251077-18 /]# cat /proc/1866468/cgroup | grep mem
# 3:memory:/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod16992772_811f_48e6_86c4_3b7aa8da33fa.slice/docker-4584a1f2204ed4f9db4df37a41d6e886901125cf39755d707b7b971cf93c52e1.scope1.4 进入路径查看相关资源配置
ls -l /sys/fs/cgroup/memory/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod16992772_811f_48e6_86c4_3b7aa8da33fa.slice/docker-4584a1f2204ed4f9db4df37a41d6e886901125cf39755d707b7b971cf93c52e1.scope1.5 修改内存使用限制
这里需要先修改 memsw,否则会因为参数检查报错:
echo 6442450944 > memory.memsw.limit_in_bytes
echo 6442450944 > memory.limit_in_bytes
1.6 查看修改后的数据
docker stats --no-stream | grep 4584a1f2204e
CONTAINER ID CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
4584a1f2204e 0.15% 475.8MiB / 6GiB 7.74% 0B / 0B 76.4MB / 57.4MB 432、参数解释
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 BeorDie
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果