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