【发布时间】:2010-07-30 08:27:13
【问题描述】:
我正在查看运行 Alfresco 的 JVM 配置选项,主要是 Alfresco Wiki 上的 this 文档。其中一项建议是使用 JVM 标志 -Xcomp 和 -Xbatch。这样做的理由是:
如果您希望 Hotspot 预编译类,您可以添加 [-Xcomp 和 -Xbatch]。但是,这将显着增加服务器启动时间,但会突出显示稍后可能会遇到的缺失依赖项。
根据我对-Xcomp 和-Xbatch 标志的read elsewhere,我想知道它们是否真的提供了任何好处。
-
-Xcomp让 HotSpot 以最大程度的优化预先编译所有代码,从而避免 VM 将通过系统标准运行进行的任何分析。 -
-Xbatch停止后台编译,这意味着导致代码被编译的线程阻塞,直到编译完成。但是,编译完成后,之前阻塞的线程不会运行编译后的代码,it will still run the interpreted code。这是 Java 6 (Mustang) 中的一个变化——在 Mustang 之前,由于存在-Xbatch标志而阻塞编译的线程保证在编译完成后立即在编译代码中运行。因此,我猜测-Xbatch标志的推荐是在旧 VM 上运行 Alfresco 的遗留物。
有人有什么想法吗?我倾向于摆脱这两个标志并依靠虚拟机来解决问题。
我想补充两件事,首先我还没有访问 Alfresco 实例的权限来测试它,其次我真的不知道托管 Alfresco 的机器是什么规格在其他配置选项中,它必须是 64 位 VM。尽管如此,我希望社区能提供一些有用的意见,也许是从一般的 HotSpot 调整的角度来看。
【问题讨论】:
-
Alfresco 页面上的真实示例部分是 2009 年 8 月,它似乎是 JDK 1.6 ?
-
@ktaylorjohn 是的,这是正确的,但我只是想知道 -Xbatch 和 -Xcomp 标志是否有任何区别。 Alfresco 似乎是唯一在 JVM 测试和类似领域之外提及这些标志的项目。
标签: java jvm jvm-hotspot jvm-arguments