java-Docker和DC / OS的JVM优化
发布时间:2020-12-16 03:26:11 所属栏目:安全 来源:网络整理
导读:我正在将裸机Java应用程序(jar jdk8)移至Docker容器和DC / OS.我注意到docker上的模式异常,我们将-XMX设置为32 gig,并分配了36 gig docker容器.每隔几个小时左右,应用程序就会增加旧的gen mem分配,并且在尝试进行堆转储时,GC会陷入循环(最大CPU)中. 是否有任
我正在将裸机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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |