容器oom如何进行排查和如何避免发生oom?

容器oom如何进行排查和如何避免发生oom?

2回答

yin986yin986  软件架构设计师 , 阳光保险集团
如何解决容器内的JAVA进程内存占用超过容器自身的资源限制,导致容器重启的问题呢?比如容器内存限制为4G,JVM的堆内存限制3G,偶尔会发生JVM到6G, 正常 GC,无FULL GC,然而容器直接重启了。...显示全部

如何解决容器内的JAVA进程内存占用超过容器自身的资源限制,导致容器重启的问题呢?
比如容器内存限制为4G,JVM的堆内存限制3G,偶尔会发生JVM到6G, 正常 GC,无FULL GC,然而容器直接重启了。

收起
 2020-06-19
浏览418
晓风晓风  研发工程师 , 光大科技
当容器使用的内存过多时就会发生OOM事件 容器OOM问题排查思路:根据容器宿主机load值偏高,查询进程的数量和线程的数量,从而从增加的数量查看到是什么样的进程阻塞了CPU的调度,查看系统日志,主要查看oom,从而对比两者的结果进程是否一致,从而看哪个进程OOM需要整改。查看单独进程...显示全部

当容器使用的内存过多时就会发生OOM事件
容器OOM问题排查思路:
根据容器宿主机load值偏高,查询进程的数量和线程的数量,从而从增加的数量查看到是什么样的进程阻塞了CPU的调度,查看系统日志,主要查看oom,从而对比两者的结果进程是否一致,从而看哪个进程OOM需要整改。查看单独进程的内存占用量,也是一个排查思路。

为了避免OOM事件,可以给Docker的容器作一些调整

  • 通过性能测试后才放到生产环境的容器中
  • 确保主机上有足够的资源分配
  • 使用SWAP(交换空间) *  将容器调度到拥有足够空余的内存的节点
收起
 2020-06-18
浏览431

提问者

张张系统架构师, 指趣网络科技

问题状态

  • 发布时间:2020-06-17
  • 关注会员:3 人
  • 问题浏览:1120
  • 最近回答:2020-06-19