java-Docker和DC / OS的JVM优化

我正在将裸机Java应用程序(jar jdk8)移至Docker容器和DC / OS.我注意到docker上的模式异常,我们将-XMX设置为32 gig,并分配了36 gig docker容器.每隔几个小时左右,应用程序就会增加旧的gen mem分配,并且在尝试进行堆转储时,GC会陷入循环(最大CPU)中.

是否有任何优化或其他方法可以用来查看为什么在1-5秒的间隔内我们如此之快?使用Docker和JVM可能需要了解一些陷阱吗?

我们正在使用默认GC

最佳答案
仅供将来参考:

我们正在使用JDK 8,似乎Oracle最近才添加了一些使用Docker的实验性标志.我相信情况可能是当GC分配线程时,它不尊重cgroup的docker线程数.实验性标志似乎已经解决了我们的“脱轨问题”

https://blogs.oracle.com/java-platform-group/java-se-support-for-docker-cpu-and-memory-limits

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...