SPECJvM2008 下载安装与分析

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

/* jre(java runtime environment),就是java程序的运行环境。你所写的java程序在经过javac编译后会形成字符行文件,这个java的中间文件,计算机是看不懂的,而这个文件是给jvm(java的虚拟机)用的,由jvm进行解释后形成机器语言给计算机。而这个jvm就在jre中,也就是说java程序的运行要有jre来担当.所以jdk和jre的区别就是一个用于开发,一个用于运行,联系就是他们都是java开发者所必备的(除非你就像运行java程序,那么用jre就足够了)。 */

 

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

1.下载SPECJVM2008安装包

 把下载好的 SPECjvm2008.tar.gz移动到/home/test下,并解压。
会生成SPECjvm2008文件

2.设置$JAVA_HOME等环境变量
[root@loongson etc]# cd /etc
找到profile文件。
[root@loongson etc]# vim profile
添加一下:
JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.2.7.fc19.x86_64
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:/lib.dt.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

/*我在HOST上使用的是Fedora龙芯官方系统自带的OpenJDK, 根据不同系统openjdk位置 修改JAVA_HOME */

添加完成后保存退出


3.测试
[root@loongson ~]#cd /home/test/SPECjvm2008
[root@loongson SPECjvm2008]# vim README.txt
会告诉我们不用直接运行SPECjvm2008, 直接运行java -jar SPECjvm2008.jar
  [root@loongson SPECjvm2008]#java -jar SPECjvm2008.jar
会直接打印出所有的检测项,并显示出其检测参数

同时,只想单条检测:
[root@loongson SPECjvm2008]# ./run-specjvm.sh startup.helloworld -ikv


4.图形报表可以产生

检测完成后相应的报表(jpg,txt等),

报表默认的输出路径是 安装目录的 results 目录下。内部根据你执行测试套件的顺序,又分了不同的子文件夹。

进入某个子文件夹,查看html格式的报表就行了。










你可能感兴趣的:(杂记)