我想使用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

07-24 18:52