Wildfly 10(JDK 8) - 优化JVM CodeCache以实现连续热部署(ReservedCodeCacheSize)

时间:2017-11-22 00:56:06

标签: java java-8 jvm wildfly wildfly-10

几周前,我们在Wildfly运行应用程序几天后面临更高的CPU使用率。 看看Thread Dump,我们发现C2 Compiler Thread是嫌疑人。

对JVM内存池进行了分析,我们意识到,在使用Wildfly并部署了28个应用程序时,250m默认ReservedCodeCacheSize JVM参数是不够的。所以我们将其设置为380m。 好。 3周后,我们没有问题了。

一切都好吗?还没。系统在3周后启动并运行。

但每次我们部署某个应用程序的新版本(取消部署.war并部署新版本)时,CodeCace的使用会增加。事实上,在取消部署后,CodeCache不会减少。在部署新版本之后,CodeCache会增加。 CodeCache的使用只会增加。 也就是说,在某些时候,在几次hotdeploy之后,CodeCache的内存将达到ReservedCodeCacheSize,我们需要重新启动Wildfly。

我知道Wildfly无法控制CodeCache,它完全由JVM管理。

我想知道的是,是否有任何配置可能有助于阻止CodeCache达到最大尺寸?

谢谢!

0 个答案:

没有答案