Java VM tuning - Xbatch 和 -Xcomp
我正在研究运行Alfresco的JVM配置选项,主要是Alfresco Wiki上的这个文档。其中一个建议是使用 JVM 标志和 。理由是:-Xcomp
-Xbatch
如果您希望 Hotspot 预编译这些类,可以添加 [-Xcomp 和 -Xbatch]。但是,这将大大增加服务器启动时间,但会突出显示以后可以命中的缺失依赖项。
从我在其他地方读到的关于和标志的内容来看,我想知道它们是否真的提供了任何好处。-Xcomp
-Xbatch
-
-Xcomp
让 HotSpot 事先编译所有代码并进行最大优化,从而放弃 VM 通过系统标准运行获得的任何分析。 -
-Xbatch
停止后台编译,这意味着导致代码被编译的线程块,直到编译完成。但是,编译完成后,先前阻塞的线程将不会运行已编译的代码,它仍将运行解释的代码。这是Java 6(Mustang)中的一个变化 - 在Mustang之前,由于标志的存在而被阻止编译的线程保证在编译完成后立即在编译的代码中运行。因此,我猜想该标志的建议是在较旧的VM上运行Alfresco的遗物。-Xbatch
-Xbatch
有人有什么想法吗?我的倾向是摆脱这两个标志,依靠VM来把事情做好。
我想添加两件事,首先,我还无法访问Alfresco实例来测试它,其次,我真的不知道除了其他配置选项之外,什么规格的机器正在托管Alfresco,它必须是一个64位VM。尽管如此,我希望社区能有一些有用的意见,也许从一般的HotSpot调整的角度来看。