`

实战SPECjvm2008

    博客分类:
  • Java
 
阅读更多

     SPECjvm2008是一个观测JRE运行性能的基准测试套件。它的测试用例涵盖了大部分java基础应用场景,是架构选型和JVM性能评测不可多得的利器。 

SPECjvm2008 官方网站 : http://www.spec.org/

 

1、安装jdk 

1.1 切换到root账号(能够有修改/etc/profile的权限的用户)

 

1.2 下载和安装jdk

把jdk安装在/home/user/runtime/中,把jdk-6u27-linux-x64.bin拷贝到/home/user/runtime/当中。

[root@localhost Desktop]# ./jdk-6u27-linux-x64.bin 回车,然后是同意协议,直接空格过去,然后点击enter,安装完毕。

 

1.3 修改/etc/profile  [root@localhost Desktop]#     vi /etc/profile    增加以下几行 export使变量生效

export JAVA_HOME=/home/fangming/runtime/jdk1.6.0_27

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

 

1.4 修改保存后,重新加载一次

[root@localhost Desktop]#source /etc/profile(当然可以reboot)

 

1.5 验证一下,环境变量是否设置正确

[root@localhost Desktop]# java -version

java version "1.6.0_27"

Java(TM) SE Runtime Environment (build 1.6.0_27-b07)

Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06, mixed mode)

 

1.6 至此jdk已经安装成功

 

2、SPECjvm2008安装

 

2.1  下载SPECjvm2008

下载完成后,是一个“SPECjvm2008_1_01_setup.jar”的安装包,可以前往SPECjvm2008官网进行下载。

 

2.2 安装SPECjvm2008

 linux环境下添加参数-i console,使用命令行的方式进行安装,然后一步一步按照提示安装即可。命令如下:

$ java -jar SPECjvm2008_1_01_setup.jar -i console

 

2.3 验证SPECjvm2008是否安装成功

在安装目录下找到脚本run-specjvm.sh,./run-specjvm.sh startup.helloworld -ikv

startup.helloworld 用于测试helloworld程序的启动时间,选择这个测试用例是考虑到运行速度比较快。 -ikv的意思是跳过签名检查,这个过程比较慢,这里仅仅是测试SPECjvm。

 [user@localhost SPECjvm2008]$ ./run-specjvm.sh startup.helloworld -ikv

 

SPECjvm2008 Base

  Properties file:   none

  Benchmarks:        startup.helloworld

 

  WARNING: Run will not be compliant.

  Not a compliant sequence of benchmarks for publication.

  Property specjvm.run.checksum.validation must be true for publication.

 

 

--- --- --- --- --- --- --- --- ---

 

  Benchmark:   check

  Run mode:    static run

  Test type:   functional

  Threads:     1

  Iterations:  1

  Run length:  1 operation

 

Iteration 1 (1 operation) begins: Tue Apr 01 19:10:43 PDT 2014

Iteration 1 (1 operation) ends:   Tue Apr 01 19:10:44 PDT 2014

Iteration 1 (1 operation) result: PASSED

 

Valid run!

 

 

--- --- --- --- --- --- --- --- ---

 

  Benchmark:   startup.helloworld

  Run mode:    static run

  Test type:   single

  Threads:     1

  Iterations:  1

  Run length:  1 operation

 

Iteration 1 (1 operation) begins: Tue Apr 01 19:10:44 PDT 2014

Iteration 1 (1 operation) ends:   Tue Apr 01 19:10:44 PDT 2014

Iteration 1 (1 operation) result: 194.17 ops/m

 

Valid run!

Score on startup.helloworld: 194.17 ops/m

 

Results are stored in: 

/home/fangming/runtime/SPECjvm2008/results/SPECjvm2008.001/SPECjvm2008.001.raw

Generating reports in:

/home/fangming/runtime/SPECjvm2008/results/SPECjvm2008.001

 

Noncompliant composite result: 194.17 ops/m

 

2.3 SPECjvm2008已经成功安装。

 

3、SPECjvm2008测试用例列表

 

SPECjvm2008测试用例列表:(单位 ops/m 每分钟操作数)

startup.helloworld 测试helloworld程序从运行开始到结束所需的时间
startup.compiler.compiler 普通java编译所需要的时间
startup.compiler.sunflow 编译sunflow图像渲染引擎所需要的时间
startup.compress 测试压缩程序,单次压缩所需的时间
startup.crypto.aes 测试AES/DES加密算法,单次加解密所需的时间
输入数据长度为 100 bytes , 713KB
startup.crypto.rsa 测试RSA加密算法,单次加解密需要的时间
输入数据长度为 100 bytes, 16KB
startup.crypto.signverify 测试单次使用MD5withRSA, SHA1withRSA, SHA1withDSA, SHA256withRSA来签名,识别所需要的时间。
输入数据长度为 1KB, 65KB, 1MB
startup.mpegaudio 单次mpeg音频解码所需的时间
startup.scimark.fft 单次快速傅立叶变换所需的时间
startup.scimark.lu 单次LU分解所需的时间
startup.scimark.monte_carlo 单次运行蒙特卡罗算法所需的时间
startup.scimark.sor 单次运行jacobi逐次超松弛迭代法所需的时间
startup.scimark.sparse 单次稀疏矩阵乘积所需的时间
startup.serial 单次通过socket传输java序列化对象到对端反序列化完成所需的时间(基于jboss serialization benchmark)
startup.sunflow 单次图片渲染处理所需的时间
startup.xml.transform 单次xml转换所需的时间,转换包括dom,sax,stream方式
startup.xml.validation 单次xml schema校验所需的时间
compiler.compiler 在规定时间内,多线程迭代测试普通java编译,得出 ops/m
compiler.sunflow 在规定时间内,多线程迭代测试sunflow图像渲染,得出 ops/m
compress 在规定时间内,多线程迭代测试压缩,得出 ops/m
crypto.aes 在规定时间内,多线程迭代测试AES/DES加解密算法,得出 ops/m
crypto.rsa 在规定时间内,多线程迭代测试RSA加解密算法,得出 ops/m
crypto.signverify 在规定时间内,多线程迭代测试使用MD5withRSA, SHA1withRSA, SHA1withDSA, SHA256withRSA来签名,识别,得出 ops/m
derby 在规定时间内,迭代测试数据库相关逻辑,包括数据库锁,BigDecimal计算等,最后得出 ops/m
mpegaudio 在规定时间内,多线程迭代mpeg音频解码,得出 ops/m
scimark.fft.large 在规定时间内,多线程迭代测试快速傅立叶变换,使用32M大数据集,最后得出 ops/m
scimark.lu.large 在规定时间内,多线程迭代测试LU分解,使用32M大数据集,最后得出 ops/m
scimark.sor.large 在规定时间内,多线程迭代测试jacobi逐次超松弛迭代法,使用32M大数据集,最后得出 ops/m
scimark.sparse.large 在规定时间内,多线程迭代测试稀疏矩阵乘积,使用32M大数据集,最后得出 ops/m
scimark.fft.small 在规定时间内,多线程迭代测试快速傅立叶变换,使用512K小数据集,最后得出 ops/m
scimark.lu.small 在规定时间内,多线程迭代测试LU分解,使用512KB小数据集,最后得出 ops/m
scimark.sor.small 在规定时间内,多线程迭代测试jacobi逐次超松弛迭代法,使用512KB小数据集,最后得出 ops/m
scimark.sparse.small 在规定时间内,多线程迭代测试稀疏矩阵乘积,使用512KB小数据集,最后得出 ops/m
scimark.monte_carlo 在规定时间内,多线程迭代测试蒙特卡罗算法,得出 ops/m
serial 在规定时间内,多线程迭代测试通过socket传输java序列化对象到对端反序列化(基于jboss serialization benchmark),得出 ops/m
sunflow 在规定时间内,利用sunflow多线程迭代测试图片渲染,得出 ops/m
xml.transform 在规定时间内,多线程迭代测试xml转换,得出 ops/m
xml.validation 在规定时间内,多线程迭代测试xml schema验证,得出 ops/m

 

参考文章:

SPECjvm2008 FAQ  http://www.spec.org/jvm2008/docs/FAQ.html  

将SPECjvm2008测试样例引入程序  http://www.dullong.com/introduce-spec-into-my-code.html

描述常用的benchmark和性能评估相关内容 http://www.docin.com/p-366727065.html

 

分享到:
评论

相关推荐

    JVM Spec PDF

    JVM Specification,官方说明文档,文件为PDF格式。版本为Java SE 9 Edition。

    SPECjbb2005.zip_spec cpu_自动化测试

    测试虚拟机的基础cpu性能,使用spec cpu,里面的是写好的自动化测试脚本。通过跑基准测试程序,衡量cpu性能。

    一种基于半空间的不完全拷贝垃圾回收机制 (2011年)

    为了满足半空间拷贝垃圾回收的实时性需求,克服在半空间拷贝...SPECjvm2008和Dacapo两项基准测试验证了提出的方法的有效性,对比实验结果表明相比半空间拷贝回收,有效地降低了回收的平均时间开销,提高了半空间垃圾

    Java虚拟机中冷对象的研究_骆凡.caj

    java 作为现在用户最多,使用最为广泛的技术,主要是由于一个大大降低开发成 本的优点:它是运行在 java ...SPECjvm2008 的基准表示出来。根据不同的标准测试得垃圾回收小效率有 2%-5% 的提升。

    node-v11.6.0-sunos-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v12.12.0-linux-s390x.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基于统计分析的葡萄酒评价指标建立以及方案设计.doc

    本文档是课题研究的研究报告内含调研以及源码设计以及结果分析

    node-v12.9.1-linux-ppc64le.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    多线程应用程序设计.pdf

    多线程应用程序设计.pdf

    什么是蚁群算法路径规划matlab以及学习蚁群算法路径规划matlab的意义

    蚁群算法路径规划matlab

    IEC 60695-11-3:2012.pdf

    IEC 60695-11-3:2012.pdf

    仿eplie触屏版html5响应式手机wap网站模板下载.zip

    触屏版自适应手机wap软件网站模板 触屏版自适应手机wap软件网站模板

    node-v12.1.0-linux-ppc64le.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v12.16.0-darwin-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    买花网微信鲜花网触屏版手机wap购物网站模板下载.zip

    触屏版自适应手机wap软件网站模板 触屏版自适应手机wap软件网站模板

    node-v10.22.1-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    python实现的基于蒙特卡洛树搜索的AI黑白棋源码带详细注释.zip

    python实现的基于蒙特卡洛树搜索的AI黑白棋源码带详细注释.zip python实现的基于蒙特卡洛树搜索的AI黑白棋源码带详细注释.zip python实现的基于蒙特卡洛树搜索的AI黑白棋源码带详细注释.zip python实现的基于蒙特卡洛树搜索的AI黑白棋源码带详细注释.zip python实现的基于蒙特卡洛树搜索的AI黑白棋源码带详细注释.zip python实现的基于蒙特卡洛树搜索的AI黑白棋源码带详细注释.zip python实现的基于蒙特卡洛树搜索的AI黑白棋源码带详细注释.zip

    node-v11.8.0-sunos-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    孪生神经网络-python源码.zip

    孪生神经网络-python源码.zip

    仿GoMobile触屏版html5响应式手机app网站模板下载-懒人模板.zip

    触屏版自适应手机wap软件网站模板 触屏版自适应手机wap软件网站模板

Global site tag (gtag.js) - Google Analytics