我想使用SPECjvm进行基准测试。
The SPECjvm user guide状态
它应该从外壳程序或命令窗口执行,并且应该在安装基准测试的位置(SPECjvm2008.jar文件所在的位置)执行。
这样做是可行的,例如:
user@pc:~/util/SPECjvm2008$ java -jar /home/user/util/SPECjvm2008/SPECjvm2008.jar
但是我想独立于Shell当前位置执行SPECjvm基准测试,例如:
user@pc:~/somewhere/else$ java -jar /home/user/util/SPECjvm2008/SPECjvm2008.jar
这里有没有与SPECjvm有经验的人可以告诉我是否有可能实现这一目标,例如通过设置类路径,命令行参数或类似的东西?
最佳答案
在这种情况下,必须将specjvm home设置为安装目录
-Dspecjvm.home.dir=foo/bar/baz
The documenatation指出以下内容:
SPECjvm2008可以从任何目录运行。但是,必须将specjvm.home.dir指定为系统属性,并指向SPECjvm2008位置(SPECjvm2008.jar所在的位置)。例:
java -Dspecjvm.home.dir = / home / tests / SPECjvm2008 -jar /home/tests/SPECjvm2008/SPECjvm2008.jar
在上面的示例中,将在您执行的地方生成结果,但可以使用属性specjvm.result.dir对其进行控制。例:
java -Dspecjvm.home.dir = / home / tests / SPECjvm2008 -Dspecjvm.result.dir = / home / results / jvm08-results / -jar /home/tests/SPECjvm2008/SPECjvm2008.jar