Linux 性能测试工具Lmbench详解
Linux 性能测试工具Lmbench详解
Lmbench 是一套简易可移植的,符合ANSI/C 标准为UNIX/POSIX 而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench 旨在使系统开发者深入了解关键操作的基础成本。
Linux 性能测试工具Lmbench 是一套简易可移植的,符合ANSI/C 标准为UNIX/POSIX 而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench 旨在使系统开发者深入了解关键操作的基础成本。
1、Linux 性能测试工具Lmbench 的使用与介绍
Lmbench 是一套简易可移植的,符合ANSI/C 标准为UNIX/POSIX 而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench 旨在使系统开发者深入了解关键操作的基础成本。其官方网站是:http://www.bitmover.com/lmbench/。
2、Linux 性能测试工具Lmbench 主要功能
带宽测评工具 反应时间测评工具 其他读取缓存文件
拷贝内存
读内存
写内存
管道
TCP 上下文切换
网络:连接的建立,管道,TCP,UDP 和RPC hot potato
文件系统的建立和删除
进程创建
信号处理
上层的系统调用
内存读入反应时间 处理器时钟比率计算
3、Linux 性能测试工具Lmbench 主要特性
a) 对于操作系统的可移植性测试:评测工具是由C 语言编写的,具有较好的可移植性(尽管它们更易于被GCC 编译)。这对于产生系统间逐一明细的对比结果是有用的。
b) 自适应调整:Lmbench 对于应激性行为是非常有用的。当遇到BloatOS 比所有竞争者慢4 倍的情况时,这个工具会将资源进行分配来修正这个问题。
c) 数据库计算结果:数据库的计算结果包括了从大多数主流的计算机工作站制造商上的运行结果。
d) 存储器延迟计算结果:存储器延迟测试展示了所有系统(数据)的缓存延迟,例如一级,二级和三级缓存,还有内存和TLB 表的未命中延迟。另外,缓存的大小可以被正确划分成一些结果集并被读出。硬件族与上面的描述相象。这种测评工具已经找到了操作系统分页策略的中的一些错误。
e) 上下文转换计算结果:很多人好象喜欢上下文转换的数量。这种测评工具并不是特别注重仅仅引用“在缓存中”的数量。它时常在进程数量和大小间进行变化,并且在当前内容不在缓存中的时候,将结果以一种对用户可见的方式进行划分。您也可以得到冷缓存上下文切换的实际开销。
f) 回归测试:
(一)Sun 公司和SGI 公司已经使用这种测评工具以寻找和补救存在于性能上的问题。
(二)Intel 公司在开发P6 的过程中,使用了它们。
(三)Linux 在Linux 的性能调整中使用了它们。
g) 新的测评工具:源代码是比较小的,可读并且容易扩展。它可以按常规组合成不同的形式以测试其他内容。举例来说,如包括处理连接建立的库函数的网络测量,服务器关闭等。
4、Linux 性能测试工具Lmbench安装与使用
安装使用Lmbench 的安装相对比较简单,到其官方网站下载压缩包Lmbench.tar.gz将其解压,并进入解压后的目录命令行键入make results 即可开始编译测试。这里需要注意如果在make 的时候出错,提示类似
- $make results
- make[1]: Entering directory `/home/kyuan/lmbench3/src'
- gmake[2]: Entering directory `/home/kyuan/lmbench3/src'
- gmake[2]: *** No rule to make target `../SCCS/s.ChangeSet', needed by bk.ver'..
- gmake[2]: Leaving directory `/home/kyuan/lmbench3/src'
- make[1]: *** [lmbench] Error 2
- make[1]: Leaving directory `/home/kyuan/lmbench3/src'
- make: *** [results] Error 2
这是需要修改src/Makefile,将这么一行(在231 行的样子),将$O/lmbench : ../scripts/lmbench bk.ver中的bk.ver 去掉,就可以了。
如果一切顺利,编译没有错误,就会出现一些选择提示以对测试进行一个配置并生成配置脚本,后续的测试将使用该配置脚本,在以后测试中也能够直接使用同样的配置多次测试。配置提示除了测试的内存范围(如“MB [default 1792]”时,对内存较大的应该避免选择太大值,否则测试时间会很长)和是否Mail results 外,基本上都能够选择缺省值。Lmbench 根据配置文档执行任何测试项,在results 目录下根据系统类型、系统名和操作系统类型等生成一个子目录,测试结果文档(system name+序号)存放于该目录下。测试完毕执行make see 可查看到测试结果报告Lmbench 的结果及其说明、测试结果及说明。
【编辑推荐】
Linux 性能测试工具Lmbench详解的更多相关文章
- Linux命令工具 top详解
Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不 ...
- 【http_load】http_load性能测试工具使用详解
1.什么是http_loadhttp_load是一款基于Linux平台的web服务器性能测试工具,用于测试web服务器的吞吐量与负载,web页面的性能. 2.http_load的安装1)下载地址wge ...
- linux 性能测试工具Lmbench
Lmbench是一套简易,可移植的,符合ANSI/C标准为UNIX/POSIX而制定的微型测评工具.一般来说,它衡量两个关键特征:反应时间和带宽.Lmbench旨在使系统开发者深入了解关键操作的基础成 ...
- Linux定时任务工具crontab详解及系统时间同步
Linux配置自动时间同步 linux下时间同步的两种方法分享 tail -f /var/log/cron linux下定时执行任务的方法 在LINUX中你应该先输入crontab -e,然后就会有 ...
- Linux htop工具使用详解
一.Htop的使用简介 大家可能对top监控软件比较熟悉,今天我为大家介绍另外一个监控软件Htop,姑且称之为top的增强版,相比top其有着很多自身的优势.如下: 两者相比起来,top比较繁琐 默认 ...
- Linux htop工具使用详解【转】
原文地址: http://www.cnphp6.com/archives/65078 一.Htop的使用简介 大家可能对top监控软件比较熟悉,今天我为大家介绍另外一个监控软件Htop,姑且称之为to ...
- [转发]Linux性能测试工具之Lmbench特性、安装及使用
Linux性能测试工具之Lmbench特性.安装及使用2015年07月16日 10:13:48 Michaelwubo 阅读数:2466Linux性能测试工具Lmbench 是一套简易可移植的,符合A ...
- (总结)Linux下的暴力密码在线破解工具Hydra详解
(总结)Linux下的暴力密码在线破解工具Hydra详解 学习了:https://blog.csdn.net/yafeichang/article/details/53502869
- Linux文本编译工具VIM详解
Linux文本编译工具VIM详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.VIM概述 1>.vim简介 >.vi: 全称Visual editor,即文本编辑 ...
随机推荐
- 转载 STM32 使用Cubemx 建一个USB(HID)设备下位机,实现数据收发
STM32 使用Cubemx 建一个USB(HID)设备下位机,实现数据收发 本文转载自 https://www.cnblogs.com/xingboy/p/9913963.html 这里我主要说一 ...
- Hibernate框架 初识 ORM概念
Hibernate概述 Hibernate是一个ORM(对象关系映射)映射框架,它的核心思想就是在底层对JDBC进行了一次封装. 什么是框架 IT语境中的框架,特指为解决一个开放性问题而设计的具有一定 ...
- 用linux主机做网关搞源地址转换(snat)
一.原理图 二.环境 外网 A:192.168.100.20 (vmnet1) 网关 B:192.168.100.10 (vmnet1) 192.168.200.10 (vmnet2) ...
- 《Python编程从0到1》笔记5——图解递归你肯定看完就能懂!
本小节的示例比较简单,因为在每次递归过程中原问题仅缩减为单个更小的问题.这样的问题往往能够用简单循环解决.这类递归算法的函数调用图是链状结构.这种递归类型被称为“单重递归”(single recurs ...
- 奉献pytorch 搭建 CNN 卷积神经网络训练图像识别的模型,配合numpy 和matplotlib 一起使用调用 cuda GPU进行加速训练
1.Torch构建简单的模型 # coding:utf-8 import torch class Net(torch.nn.Module): def __init__(self,img_rgb=3,i ...
- javascript number与isNan
number 与 isnan Number:表示整数和浮点数 NaN:即非数值(not a Number)是 一个特殊的数值.是Number类型的一种. 说明:1.任何涉及NaN的操作(例如Nan/1 ...
- mapper中通过resultMap自定义查询结果映射
mybatis中使用resultType做自动映射时,要注意字段名和pojo的属性名必须一致,若不一致,则需要给字段起别名,保证别名与属性名一致. 使用resultMap做自定义结果映射,字段名可以不 ...
- MyBatis一级缓存的笔记及记录
精髓内容来源于<图灵学院> 一.概述: 一级缓存是MyBatis天然自带的,是默认开启且没有关闭的地方,1级缓存只能作用于查询回话中,所以也叫会话缓存: 这里举个例子: 订单表存在一对多的 ...
- noip2018day1-赛道修建
题目描述 \(C\) 城将要举办一系列的赛车比赛.在比赛前,需要在城内修建 $m $条赛道. \(C\) 城一共有 \(n\) 个路口,这些路口编号为 \(1,2,-,n\)有 $n-1 $条适合于修 ...
- Android引用多媒体
res目录下,创建raw目录(Android会自动识别这个目录),如果自己创建的目录,可能无效底下的mp3格式,mp4格式的文件名必须小写. 引用方式: mediaPlayer = MediaPlay ...
