ARM服务器测试大纲中指定了要使用specjvm测试Java虚拟机性能,所以就上网找开源的测试套。

简介

SPECjvm2008(java虚拟机基准测试)是用来测试java运行环境(JRE)性能的基准测试套件,其中包含几个核心的JAVA功能实现的基准测试程序。该测试套测试了处理器和内存子系统的性能,但是对文件系统的I/O依赖度很低,并且不包含机器间的网路系统。SPECjvm2008工作负载测试模仿的是各种常见的通用应用计算场景,这些基准测试可以测试测试机器上的JAVA虚拟机性能。

下载

下载主页:https://www.spec.org/download.html

安装

打开终端,在下载目录执行命令:

java -jar SPECjvm2008_1_01_setup.jar -i console



简介说明


许可协议


许可协议输入“是”就行。用户可以指定一个安装目录


一路enter即可。

配置

安装完成之后,打开文件/etc/profile.在文件最后添加下面的配置项

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-arm64/
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:/lib.dt.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
打开终端,执行命令:source /etc/profile。进入安装目录/home/deepin/SPECjvm2008.执行一下测试程序,查看配置是否正常:

./run-specjvm.sh startup.helloworld -ikv
执行成功


开始测试

上面的helloworld测试程序能够跑通的话,说明配置没有问题,那么就可以进行全量测试了。
执行下面的命令:

java -jar SPECjvm2008.jar

测试用例说明
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

[转帖]SPECjvm测试工具详解的更多相关文章

  1. [转帖]前端-chromeF12 谷歌开发者工具详解 Network篇

    前端-chromeF12 谷歌开发者工具详解 Network篇 https://blog.csdn.net/qq_39892932/article/details/82493922 blog 也是原作 ...

  2. [转帖]前端-chromeF12 谷歌开发者工具详解 Sources篇

    前端-chromeF12 谷歌开发者工具详解 Sources篇 原贴地址:https://blog.csdn.net/qq_39892932/article/details/82498748 cons ...

  3. [转帖]前端-chromeF12 谷歌开发者工具详解 Console篇

    前端-chromeF12 谷歌开发者工具详解 Console篇 https://blog.csdn.net/qq_39892932/article/details/82655866 趁着搞 cloud ...

  4. valgrind和Kcachegrind性能分析工具详解

    一.valgrind介绍 valgrind是运行在Linux上的一套基于仿真技术的程序调试和分析工具,用于构建动态分析工具的装备性框架.它包括一个工具集,每个工具执行某种类型的调试.分析或类似的任务, ...

  5. Iperf3网络性能测试工具详解教程

    Iperf3网络性能测试工具详解教程 小M 2020年4月17日 运维 本文下载链接 [学习笔记]Iperf3网络性能测试工具.pdf 网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保 ...

  6. 【山外笔记-工具框架】iperf3网络性能测试工具详解教程

    [山外笔记-工具框架]iperf3网络性能测试工具详解教程   本文下载链接 [学习笔记]iperf3网络性能测试工具.pdf 网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性 ...

  7. python Gui编程工具详解:beeware

    各个gui开发工具对比 Flexx: 可以使用Flexx创建桌面应用程序和web应用程序,同时可以将程序导出到独立的HTML文档中,GitHub推荐 Kivy&BeeWare: 只需编写一套代 ...

  8. Chrome开发者工具详解(5)-Application、Security、Audits面板

    Chrome开发者工具详解(5)-Application.Security.Audits面板 这篇文章是Chrome开发者工具详解这一系列的最后一篇,介绍DevTools最后的三个面板功能-Appli ...

  9. Chrome开发者工具详解(4)-Profiles面板

    Chrome开发者工具详解(4)-Profiles面板 如果上篇中的Timeline面板所提供的信息不能满足你的要求,你可以使用Profiles面板,利用这个面板你可以追踪网页程序的内存泄漏问题,进一 ...

  10. Chrome开发者工具详解(3)-Timeline面板

    Chrome开发者工具详解(3)-Timeline面板 注: 这一篇主要讲解面板Timeline,参考了Google的相关文档,主要用于公司内部技术分享.. Timeline面板 Timeline面板 ...

随机推荐

  1. 30秒,2种方法解决SQL Server的内存管理问题

    今天和大家聊一聊SQL server的内存管理,说之前我们需要先提出一个问题,SQL Server到底是如何使用内存的?弄清楚如何使用之后,才能谈如何管理. 简单说,SQL Server 数据库的内存 ...

  2. 跟我学ModelArts丨探索ModelArts平台个性化联邦学习API

    摘要:ModelArts提供了一个实现个性化联邦学习的API--pytorch_fedamp_emnist_classification,它主要是让拥有相似数据分布的客户进行更多合作的一个横向联邦学习 ...

  3. 从相识到相惜:Redis与计算存储分离四部曲

    摘要:协议兼容问题.性能问题.数据备份问题.数据容量问题--这些都是数据库在使用过程中必然会遇见的问题.就好比选择结婚对象,你需要去对比不同的方面,最后选出最好的.最合适的. 近期全国两会正在轰轰烈烈 ...

  4. 【火热招募】一文看懂华为云IoT Edge边缘计算开发者大赛技术亮点

    摘要:第二届边缘计算开发者大赛已启动,赛程时间将从9月持续到12月,华为云IoT Edge · 边云协同赛道奖金池高达40万元. 近日,第二届边缘计算开发者大赛已启动(查看启动仪式),全球揭榜挂帅火热 ...

  5. SPL:跑批有这么难么?

    摘要:SPL实现了更优算法,性能远远超过存储过程,能显著提高单机计算效率,非常适合跑批计算. 本文分享自华为云社区<Java开源专业计算引擎:跑批真的这么难吗?>,作者: Java李杨勇. ...

  6. Java的这个强大功能,很多人都不知道

    摘要:大多数框架采用单一的语言所开发.JNI这项Java中提供的强大功能,却逐渐的被人遗忘了. 本文分享自华为云社区<Java中一个逐渐被遗忘的强大功能,强到你难以置信!!>,作者:冰 河 ...

  7. 重磅!KubeEdge单集群突破10万边缘节点|云原生边缘计算峰会前瞻

    摘要:<KubeEdge单集群突破10万边缘节点 | 技术报告>将会在6月25日即将开展的云原生边缘计算峰会(KubeEdge Summit 2022)中进行应用解析.我们先来一睹为快吧! ...

  8. 带你了解 HBase 数据模型和 HBase 架构

    摘要:HBase 是一个面向列的 NoSQL 数据库. 本文分享自华为云社区<HBase 架构:HBase 数据模型 & HBase 读/写机制>,作者: Donglian Lin ...

  9. java并发编程(2):Java多线程-java.util.concurrent高级工具

    高级多线程控制类 Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent, 提供了大量高级工具,可以帮助开发者编写高效.易维护.结构清晰的Java多线程程序. Thr ...

  10. 打通数据治理全链路,火山引擎DataLeap数据治理平台公有云版本正式发布

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   近日,火山引擎DataLeap正式对外发布数据治理平台公有云版.DataLeap是火山引擎大数据研发治理套件, ...