lmbench的使用方法
要评价一个系统的性能,通常有不同的指标,相应的会有不同的测试方法和测试工具,一般来说为了确保测试结果的公平和权威性,会选用比较成熟的商业测试软件。但在特定情形下,只是想要简单比较不同系统或比较一些函数库性能时,也能够从开源世界里选用一些优秀的工具来完成这个任务,本文就通过lmbench 简要介绍系统综合性能测试。
二、测试软件
Lmbench是个多平台软件,因此能够对同级别的系统进行比较测试,反映不同系统的优劣势,通过选择不同的库函数我们就能够比较库函数的性能;更为重要的是,作为一个开源软件,lmbench提供一个测试框架,假如测试者对测试项目有更高的测试需要,能够通过少量的修改源代码达到目的(比如现在只能评测进程创建、终止的性能和进程转换的开销,通过修改部分代码即可实现线程级别的性能测试)。
下载:
www.bitmover.com/lmbench,最新版本3.0-a9
hot potato
测试平台:HP compoq,fedora 7 Linux 2.6.21
1、 确认安装了C编译器,假如没有需要先安装
2、 拷贝lmbench源码文档lmbench-3.0-a9.tgz到fedora的/root/test目录下,解压到当前目录即可
3、 cd lmbench-3.0-a9,在命令行键入make results即可开始编译测试
4、 假如编译没有错误,会出现一些选择提示以对测试进行一个配置并生成配置脚本,后续的测试将使用该配置脚本,在以后测试中也能够直接使用同样的配置多次测试。配置提示除了测试的内存范围(如“MB
[default 371]”时,对内存较大的应该避免选择太大值,否则测试时间会很长)和是否Mail results外,基本上都能够选择缺省值。
5、 Lmbench根据配置文档执行任何测试项,在results目录下根据系统类型、系统名和操作系统类型等生成一个子目录,测试结果文档(system name+序号)存放于该目录下。
6、 测试完毕执行make see可查看到测试结果报告,则可以将测试数据/results/i686-pc-linux-gnu/目录下的文件导出为测试报告/results/summary.out文件,我们查看summary.out文件就可以看测试结果了。
测试平台:SEP4020 evb1.5, Linux 2.6.16
1、 确认宿主机上安装了交叉编译编译器arm-linux-gcc,假如没有需要先安装
2、 拷贝lmbench源码文档lmbench-3.0-a9.tgz到fedora的/root/test目录下,解压到当前目录即可
3、 cd lmbench-3.0-a9,在命令行键入make CC=arm-linu-gcc OS=arm-linux 即可开始编译测试用例,编译完成后,会在/root/test/lmbench-3.0-a9/bin下出现一个arm-linux目录,在这个目录下就是测试用例的目标文件。由于我们的目标平台不支持make命令,所以我们必须另外写一个运行脚本,脚步名为run_all.sh,放在scripts下面,内容是:
4、 然后将整个lmbench-3.0-a9目录拷贝到目标机的nfs根目录下面,然后进入目标机的串口终端,在/lmbench-3.0-a9/scripts下面输入./run_all.sh
[default 19]”时,对内存较大的应该避免选择太大值,否则测试时间会很长)和是否Mail results外,基本上都能够选择缺省值。
5、 Lmbench根据配置文档执行任何测试项,在results目录下根据系统类型、系统名和操作系统类型等生成一个子目录,测试结果文档(system name+序号)存放于该目录下。
6、 测试完毕执行,在虚拟机fedora7中进入/nfs/lmbench-3.0-a9 键入make see命令可生成测试结果报告,它可以将测试数据/results/i686-pc-linux-gnu/目录下的文件导出为测试报告/results/summary.out文件,我们查看summary.out文件就可以看测试结果了。
lmbench的使用方法的更多相关文章
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- Buildroot lmbench使用方法
/********************************************************************** * Buildroot lmbench使用方法 * 说明 ...
- mapreduce多文件输出的两方法
mapreduce多文件输出的两方法 package duogemap; import java.io.IOException; import org.apache.hadoop.conf ...
- 【.net 深呼吸】细说CodeDom(6):方法参数
本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...
- IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法
直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
- ArcGIS 10.0紧凑型切片读写方法
首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...
- [BOT] 一种android中实现“圆角矩形”的方法
内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...
随机推荐
- OC—类的设计和NSString
经过前一段时间C语言 的学习,从这周开始正式步入OC的学习 OC中类的定义:同一类事物的抽象,对象则与之相反,是抽象的类的具体化. OC中定义属性字段时通常在元素前面加上_如 NSString * _ ...
- Harbor在安装前的几个注意点
由于Harbor有1.8后和前的配置不一样,决定先安装1.8,结果报错如下 [root@localhost harbor]# ./install.sh [Step 0]: checking insta ...
- django搭建一个小型的服务器运维网站-用户登陆与session
目录 项目介绍和源码: 拿来即用的bootstrap模板: 服务器SSH服务配置与python中paramiko的使用: 用户登陆与session; 最简单的实践之修改服务器时间: 查看和修改服务器配 ...
- oracle SQL in plsql
刚安装好的oracle和plsql,以oracle11g为例 1.刚安装好后有两个默认的系统账号和初始密码:sys/change_on_install,system/manager 2.如果忘记了或不 ...
- iOS打印各种类型数据
整型占位符说明 : %d : 十进制整数, 正数无符号, 负数有 “-” 符号; %o : 八进制无符号整数, 没有 0 前缀; %x : 十六进制无符号整数, 没有 0x 前缀; %u : 十进制无 ...
- Jsoup代码示例、解析网页+提取文本
使用Jsoup解析HTML 那么我们就必须用到HttpClient先获取到html 同样我们引入HttpClient相关jar包 以及commonIO的jar包 我们把httpClient的基本代码写 ...
- ruby类对象和对象
class Box def initialize(w,h) @width,@height=w,h end def getArea puts "class of self #{self.cla ...
- delphi 获得时间戳 毫秒数
function DateTimeToMilliseconds(const ADateTime: TDateTime): Int64; //获得毫秒var LTimeStamp: TTimeStamp ...
- maven项目 @Resource报错 ava.lang.NoSuchMethodError: javax.annotation.Resource.lookup()Ljava/lang/String;
@Resource 出错 java.lang.NoSuchMethodError: javax.annotation.Resource.lookup() maven项目中,使用@Resource报错. ...
- Java8默认方法
Java8引入的接口默认方法实现一个新的概念.此功能是为了向后兼容性增加,使旧接口可用于利用JAVA8. lambda表达式的能力,例如,列表或集合接口不具备forEach方法声明.从而增加了这样的方 ...