Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java虚拟机调优-Xbatch和-Xcomp_Java_Jvm_Jvm Hotspot_Jvm Arguments - Fatal编程技术网

Java虚拟机调优-Xbatch和-Xcomp

Java虚拟机调优-Xbatch和-Xcomp,java,jvm,jvm-hotspot,jvm-arguments,Java,Jvm,Jvm Hotspot,Jvm Arguments,我正在查看用于运行Alfresco的JVM配置选项,主要是关于。建议之一是使用JVM标志-Xcomp和-Xbatch。理由是: 如果希望Hotspot预编译这些类,可以添加[-Xcomp和-Xbatch]。但是,这将显著增加服务器启动时间,但会突出显示丢失的依赖项,这些依赖项稍后可能会被命中 根据我对-Xcomp和-Xbatch标志的了解,我想知道它们是否真的提供了任何好处 -Xcomp让HotSpot预先以最大优化编译所有代码,从而避免VM通过系统的标准运行获得的任何评测 -Xbatch停止

我正在查看用于运行Alfresco的JVM配置选项,主要是关于。建议之一是使用JVM标志
-Xcomp
-Xbatch
。理由是:

如果希望Hotspot预编译这些类,可以添加[-Xcomp和-Xbatch]。但是,这将显著增加服务器启动时间,但会突出显示丢失的依赖项,这些依赖项稍后可能会被命中

根据我对
-Xcomp
-Xbatch
标志的了解,我想知道它们是否真的提供了任何好处

  • -Xcomp
    让HotSpot预先以最大优化编译所有代码,从而避免VM通过系统的标准运行获得的任何评测
  • -Xbatch
    停止后台编译,这意味着导致代码被编译的线程将阻塞,直到编译完成。但是,编译完成后,先前阻塞的线程将不会运行编译后的代码。这是Java 6(Mustang)中的一个变化——在Mustang之前,由于存在
    -Xbatch
    标志而被阻止编译的线程保证在编译完成后立即在编译代码中运行。因此,我猜想
    -Xbatch
    标志的建议是在旧的虚拟机上露天运行的遗留问题
有人有什么想法吗?我倾向于摆脱这两个标志,依靠虚拟机把事情做好


我想补充两件事,首先,我还没有访问Alfresco实例来测试它,其次,通过查看其他配置选项,我真的不知道托管Alfresco的机器的规格,它必须是64位VM。尽管如此,我希望社区能够提供一些有用的信息,也许从热点优化的角度来看。

Alfresco是一种企业内容管理。我不确定这些标志如何影响其性能。然后在同一页的一张便条上写着

-- 但是,这将显著增加服务器启动时间,但会突出显示丢失的依赖项,这些依赖项稍后可能会被命中。


我的意思是,作者并不是真的意味着性能提升。他/她写这篇文章是为了检查所有依赖关系是否到位

一般来说,最好让热点编译器自行调整。即使使用服务器VM(-Server)也是64位和某些“服务器类”机器的默认设置

-Xbatch主要用于调试,如您所指出的:

因此-Xbatch开关即使在野马时代之前也不是特别有用的开关。它对jvm开发人员有些有用,因为它会使运行更加可预测和可再现

-Xcomp取消了为高效编译而收集信息的功能。从:

从性能的角度来看,有人可能会认为-Xcomp是个好主意。然而,事实并非如此!JIT编译器在编译之前使用这1000次迭代来收集关于如何编译方法以获得最佳效率的信息-Xcomp取消了它这样做的能力,因此我们实际上可以看到性能下降


如果不考虑性能,我从未见过使用这些标志来检测缺少的依赖项(),因此,我想我会将两者都去掉。

Alfresco页面上的真实世界示例部分是2009年8月,它似乎是JDK 1.6?@ktaylorjohn是的,没错,但是我只是想知道-Xbatch和-Xcomp标志是否有什么不同。Alfresco似乎是唯一一个在JVM测试和类似领域之外提到这些标志的项目