博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker stack task: non-zero exit (137) OOM
阅读量:2113 次
发布时间:2019-04-29

本文共 458 字,大约阅读时间需要 1 分钟。

使用docker stack deploy部署的程序出现:task: non-zero exit (137),并自动重启。(一般出现在部署的java程序中)

造成该问题的原因一般有下面几种情况:

1. 通过docker stop ,或者kill -9 会出现 exit code 137

2. OOM,内存不足导致的退出,通过 journalctl -k | grep -i -e memory -e oom 查看系统出现的oom事件

    一般需要确定是否是内存不足导致的退出。

   本文中出现该问题的原因是docker容器启动时设置了最大内存限制,而容器中java程序运行所需内存设置的数值大于等于容器配置的最大内存,导致程序运行一段时间后自动重启。

参照:

docker 中 jvm内存往往出现大于xmx问题,除了参数优化外,还可以使用openj9 虚拟机(JVM的另一个实现)内存占用会减少很多。

一般jvm异常退出,配置了oom dump但没有dump文件,gc日志没有异常,要考虑内存不足被系统kill了。

参考:

转载地址:http://oipef.baihongyu.com/

你可能感兴趣的文章
Spring使用Cache、整合Ehcache
查看>>
Chrome调试工具奇淫技
查看>>
30分钟快速掌握Bootstrap
查看>>
如何针对业务做DB优化
查看>>
程序猿都该知道的MySQL秘籍
查看>>
Eclipse全面提速小技巧
查看>>
前端程序员必知的30个Chrome扩展
查看>>
memcached分布式实现原理
查看>>
怎么成为架构师
查看>>
40个重要的HTML 5面试问题及答案
查看>>
在Java中如何高效判断数组中是否包含某个元素
查看>>
设计模式总结
查看>>
什么时候可以使用Ehcache缓存
查看>>
Java核心知识点-JVM结构和工作方式
查看>>
Java编程中“为了性能”一些尽量做到的地方
查看>>
Java并发编程:线程池的使用
查看>>
redis单机及其集群的搭建
查看>>
Java多线程学习
查看>>
检查Linux服务器性能
查看>>
Java 8新的时间日期库
查看>>