前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kubernetes 最佳实践:处理内存碎片化

Kubernetes 最佳实践:处理内存碎片化

原创
作者头像
imroc
修改2019-06-10 10:46:08
1.5K0
修改2019-06-10 10:46:08
举报

内存碎片化造成的危害

节点的内存碎片化严重,导致docker运行容器时,无法分到大的内存块,导致start docker失败。最终导致服务更新时,状态一直都是启动中

判断是否内存碎片化严重

内核日志显示:

进一步查看的系统内存(cache多可能是io导致的,为了提高io效率留下的缓存,这部分内存实际是可以释放的):

查看slab (后面的0多表示伙伴系统没有大块内存了):

handle-memory-fragmentation-4.png
handle-memory-fragmentation-4.png

解决方法

  • 周期性地或者在发现大块内存不足时,先进行drop_cache操作:
代码语言:txt
复制
echo 3 > /proc/sys/vm/drop_caches
  • 必要时候进行内存整理,开销会比较大,会造成业务卡住一段时间(慎用):
代码语言:txt
复制
echo 1 > /proc/sys/vm/compact_memory

附录

相关链接:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 内存碎片化造成的危害
  • 判断是否内存碎片化严重
  • 解决方法
  • 附录
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档