Java OpenJ9与HostSpot G1的弹性垂直缩放对比测试

Java OpenJ9与HostSpot G1的弹性垂直缩放对比测试,java,kubernetes,jelastic,Java,Kubernetes,Jelastic,在容器化环境中,当使用java时,我们有巨大的资源浪费。在垂直扩展方面,我们需要一个优化的JVM。对于OpenJ9和HotSpot G1的垂直扩展和内存使用,是否有公开的比较测试 OpenJDK 12在垂直扩展方面是否比J9好 在这个阶段很难回答,因为没有公开的比较测试。现在,两个JVM在弹性方面看起来都不错 有一个已知问题与提交RAM的监控机制有关 使用OpenJ9 虽然OpenJDK允许,但您也可以使用标准工具,如VisualVM或其他工具 OpenJDK 12在垂直扩展方面是否比J9好 在

在容器化环境中,当使用java时,我们有巨大的资源浪费。在垂直扩展方面,我们需要一个优化的JVM。对于OpenJ9和HotSpot G1的垂直扩展和内存使用,是否有公开的比较测试

OpenJDK 12在垂直扩展方面是否比J9好

在这个阶段很难回答,因为没有公开的比较测试。现在,两个JVM在弹性方面看起来都不错

有一个已知问题与提交RAM的监控机制有关

使用OpenJ9

虽然OpenJDK允许,但您也可以使用标准工具,如VisualVM或其他工具

OpenJDK 12在垂直扩展方面是否比J9好

在这个阶段很难回答,因为没有公开的比较测试。现在,两个JVM在弹性方面看起来都不错

有一个已知问题与提交RAM的监控机制有关

使用OpenJ9


虽然OpenJDK允许,但您也可以使用标准工具,如VisualVM或其他工具

Jelastic发起并赞助了OpenJDK修补程序的开发,该修补程序提高了灵活性,并支持依赖G1垃圾收集器的Java应用程序的全自动垂直扩展。这项工作为堆大小调整引入了新的命令行选项,允许JVM垂直扩展其内存资源。特别是,建议的解决方案是迅速将未使用的提交内存返回到操作系统。所提供的解决方案已经在OpenJDK 12中实现。这一改进将允许Java用户节省大量资源,从而节省资金,并帮助云提供商更好地利用其基础设施,并引入基于实际使用情况而非虚拟机限制的更灵活的计费模型。在这里阅读更多内容,为什么不尝试这两种方法,看看哪种方法在性能、稳定性、安全性、支持等方面最适合你们。?后者通常比原始性能重要得多。EclipseOpenJ9是一个内存占用率低的JVM,所以我希望它在垂直方向上的扩展比Hotspot更好。供参考:Jelastic发起并赞助了OpenJDK修补程序的开发,该修补程序提高了灵活性,并支持依赖G1垃圾收集器的Java应用程序的全自动垂直扩展。这项工作为堆大小调整引入了新的命令行选项,允许JVM垂直扩展其内存资源。特别是,建议的解决方案是迅速将未使用的提交内存返回到操作系统。所提供的解决方案已经在OpenJDK 12中实现。这一改进将允许Java用户节省大量资源,从而节省资金,并帮助云提供商更好地利用其基础设施,并引入基于实际使用情况而非虚拟机限制的更灵活的计费模型。在这里阅读更多内容,为什么不尝试这两种方法,看看哪种方法在性能、稳定性、安全性、支持等方面最适合你们。?后者通常比原始性能重要得多。EclipseOpenJ9是一个内存占用率低的JVM,所以我希望它在垂直方向上的扩展比Hotspot更好。仅供参考:OpenJ9还支持
ManagementFactory.getMemoryMXBean()
。需要注意的是,RSS是进程的总提交内存,它将报告一个与MXBean非常不同的数字,因为该bean只报告与GC'd相关的内存heap@DanHeidinga,据我所知,根据提到的github对话,我们从getMemoryMXBean()获得的提交RAM将比实际情况更高。我错了吗?提交到gc堆的地址空间量由MXBean报告。这与使用的物理内存(RSS)量不同。我希望RSS对所有JVM都比MXBeanOpenJ9更准确,MXBeanOpenJ9还支持
ManagementFactory.getMemoryMXBean()
。需要注意的是,RSS是进程的总提交内存,它将报告一个与MXBean非常不同的数字,因为该bean只报告与GC'd相关的内存heap@DanHeidinga,据我所知,根据提到的github对话,我们从getMemoryMXBean()获得的提交RAM将比实际情况更高。我错了吗?提交到gc堆的地址空间量由MXBean报告。这与使用的物理内存(RSS)量不同。我希望RSS对于所有JVM都比MXBean更准确
To test vertical scaling with respect to memory in OpenJ9 I recommend to monitor the resident-set-size (RSS) of a Java process with a script like this:

while true; do
   sleep 1
   ps -orss --no-headers --pid $1
done