美文网首页
第4章 openJ9的性能提升:进程启动时间的优化

第4章 openJ9的性能提升:进程启动时间的优化

作者: narry | 来源:发表于2018-04-29 15:21 被阅读0次

    openj9性能提升方面

      openj9的性能关注点主要有以下几点:

    - start-up time :进程启动时间

    - footprint  :进程内存占用

    - ramp-up  :达到最佳性能的速度的优化

    - response time :响应时间

    - CPU :CPU占用

    进程启动时间的优化

      启动时间就是程序从启动到可以对外提供服务的时间的消耗,这个指标对开发,测试和运维都有很大的意义,启动时间一般来说消耗在两个方面:类的加载和字节码的解释执行上,而openJ9在这个方面引入了如下的三个技术:

    - Shared Class Cache

    - AOT(Ahead-of-time JIT)

    - -Xquickstart启动模式

      Shared Class Cache 采用的方式是将被的jvm已经处理过了的类,AOT产生被编译过的代码和Interpreter的profile数据保存在操作系统文件中,然后通过Memory mapped file的方式被别的后面启动的jvm所共享,这样可以减少后续jvm进程的启动时间,在jvm启动参数中加入 –Xshareclasses ,此功能就会被启用

      JVM通常在程序执行时,会通过JIT将Java方法编译为本机代码,每次程序运行时都会生成本机代码,而Ahead of Time编译技术在编译Java方法,创建本地代码时产生的代码不仅可用于当前JVM,还可存储到共享类缓存中,使用共享类缓存启动的另一个JVM可以使用存储在缓存中的AOT代码来减少启动时间,该共享类缓存在以前的Java程序调用期间填充了AOT代码。通过节省编译所需的时间和通过将方法更快地执行为AOT代码来实现这种减少。 AOT代码是本地代码,通常执行速度比解释代码快,而此功能必须在启动了Shared Class Cache 后才能生效

      而- -Xquickstart启动模式相当于Hotspot的client模式,在JIT方面的优化将不是特别的充分和理想,适合于特别关注启动时间,短生命周期和人机交互类的程序使用

    相关文章

      网友评论

          本文标题:第4章 openJ9的性能提升:进程启动时间的优化

          本文链接:https://www.haomeiwen.com/subject/nbbolftx.html