如何减少OpenJDK Java8 VM的启动时间?

时间:2018-05-11 08:56:47

标签: java optimization app-startup

我需要尝试改进相对较大的无头 java应用程序的启动时间,调整VM /启动器参数(正在进行单独的工作以实现调整实际代码的相同目标)。

首选VM是标准的OpenJDK Java-8。

openjdk version "1.8.0_102-internal"
OpenJDK Runtime Environment (build 1.8.0_102-internal-b14, profile compact3)
OpenJDK VM (build 25.102-b14, interpreted mode)

主机是运行Linux的嵌入式ARM7(32位)。

model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 38.40

如上所述,目标是改善启动时间;运行时性能是可以接受的。

有人可以建议调整VM本身,以显着缩短交付周期。

注意:我知道“-client”选项可能带来的好处,我会尽快进行实验;有可能的缺点吗?还有其他吗?

澄清:

“有趣的数字”是从目标启动到应用程序准备好接受命令所需的时间。

这由三部分组成:

  • 系统启动时间:超出此问题的范围。唯一的影响是Java很早就开始了,所以其他一些后台进程可能会窃取计算能力;也许某些优先级扩展可能会有所帮助,但会牺牲其他一些流程。
  • Java VM启动:这是这个问题的主要焦点。
  • 应用程序启动时间:这应该在优化中计算,但应用程序优化本身(例如:“未使用”类的延迟加载“)不是此问题的一部分。但是,应该记住,因为任何解决方案缩短虚拟机启动时间,但延长应用程序启动时间无济于事。

0 个答案:

没有答案