3

我正在使用JMH,一个 OpenJDK 微基准测试工具。构建过程创建microbenchmarks.jar我调用java -jar并传递 jar 名称和 JMH 参数。

我想知道我们是否应该使用-server选项运行基准测试,为什么?

换句话说,我应该运行我的基准测试:

java -server -jar microbenchmarks.jar ...(jmh args)
4

2 回答 2

9

好吧,这取决于您要测量的内容。在大多数情况下,机器上的默认 JVM 模式是您复制普通 Java 应用程序将遇到的相同条件所追求的。

因此,我们通常不会添加-server到基准测试运行中,因为在大多数机器上,人体工程学本身会隐式选择它,请参阅服务器类机器检测

于 2013-12-10T08:10:01.823 回答
3

这完全取决于您想要进行基准测试 - 如果您想使用服务器 JVM 特性来衡量系统在运行面向服务器的工作负载时的行为方式,则应该使用该选项

另请参阅 -什么是 JVM -server 参数?,说明-server交换机也执行了更好的JITting。

于 2013-12-09T19:35:02.900 回答