对于我的应用程序,我们最近从 1.7 升级到 java 1.8,根据性能测试结果,我们检查了 CPU 利用率是一个大问题,它增加了71%!
我在 jdk8 中使用下面的 jvm 参数:
-XX:-OptimizeStringConcat -XX:SurvivorRatio=6 -XX:+UseG1GC -XX:-UseGCOverheadLimit
除了所有这些,我很困惑的最重要的事情是我们现在应该选择的 MaxMetaSpaceSize 是什么。
对于 Jdk1.7,我使用的是:
-Xms480M -Xmx480M -XX:MaxPermSize=192M
在 jdk1.8 中保持一切不变,只将 MaxPermSize 更改为 MaxMetaSpaceSize :
-Xms480M -Xmx480M -XX:MaxMetaspaceSize=192M
请让我知道如何提高我的应用程序的性能。有什么我遗漏的 - 因为 jdk8 正在使用本机内存区域,因此
- 增加服务器上的空间是否有帮助。
- 我保持 MaxMetaspaceSize 的值与之前的值相同——我如何在这个新架构上决定这个值。