1. lmBench 介绍

Lmbench是一套简易,可移植的,符合ANSI/C标准为UNIX/POSIX而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench旨在使系统开发者深入了解关键操作的基础成本。

lmbench是个用于评价系统综合性能的多平台开源benchmark,能够测试包括文档读写、内存操作、进程创建销毁开销、网络等性能,测试方法简单。

lmbench是个多平台软件,因此能够对同级别的系统进行比较测试,反映不同系统的优劣势,通过选择不同的库函数我们就能够比较库函数的性能;更为重要的是,作为一个开源软件,lmbench提供一个测试框架,假如测试者对测试项目有更高的测试需要,能够通过少量的修改源代码达到目的(比如现在只能评测进程创建、终止的性能和进程转换的开销,通过修改部分代码即可实现线程级别的性能测试)。

带宽测评工具

—读取缓存文件

—拷贝内存

—读内存

—写内存

—管道

—TCP

反应时间测评工具

  • 上下文切换
  • 网络: 连接的建立,管道,TCP,UDP和RPC hot potato
  • 文件系统的建立和删除
  • 进程创建
  • 信号处理
  • 上层的系统调用
  • 内存读入反应时间

其他

  • 处理器时钟比率计算

2. 编译 lmbench

首先现在并编译 libtirpc ,然后安装。

下载lmbench源码 LMbench,解压及编译lmbench。修改编译脚本:

# src/Makefile
$O/lmbench : ../scripts/lmbenc
# scripts/build
LDLIBS="-lm -ltirpc"
CFLAGS="-I/usr/include/tirpc"
// src/disk.c
// llseek 修改为 lseek
int seekto(int fd, uint64 off)
{
if (lseek(fd, (loff_t)off, SEEK_SET) == (loff_t)-1) {
return(-1);
}
return (0);
}

编译命令:

make OS=$OS  build

其中,环境变量 OS="\({MACHINE}-\){SYSTEM}" 。本机的话,MACHINE用 uname -m 取得; SYSTEM通过 uname -s 拼接而成。

编译完成后,在 bin/$OS 目录下生成 lmbench 可执行文件,所有测试均由 lmbench 执行。

  1. 配置及测试

在 scripts 目录下,有一个 run-config 脚本文件,该脚本配置 lmbench 。先运行该脚本,设定一些选项,再运行 lmbench 进行测试。

cd scripts
env OS="$OS" ./config-run
export PATH=$PATH:/lmbench3/bin/$OS # lmbench 添加到 PATH # 脚本lmbench/results会启动我们的测试
env OS="$OS" BENCHMARK_OS=YES ./results # BENCHMARK_OS 可选

参考

(工具) 性能测试基准软件 lmBench (待补充)的更多相关文章

  1. 痞子衡嵌入式:微控制器CPU性能测试基准(EEMBC-CoreMark)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是微控制器CPU性能测试基准CoreMark. 在嵌入式系统行业用于评价CPU性能指标的标准主要有三种:Dhrystone.MIPS.Co ...

  2. 痞子衡嵌入式:微处理器CPU性能测试基准(Dhrystone)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是微处理器CPU性能测试基准Dhrystone. 在嵌入式系统行业用于评价CPU性能指标的标准主要有三种:Dhrystone.MIPS.C ...

  3. Linux 下易用的光盘镜像管理工具(虚拟光驱软件)转载

    作者: Frazer Kline | 2014-11-23 11:07   评论: 4 收藏: 4 分享: 10 磁盘镜像包括了整个磁盘卷的文件或者是全部的存储设备的数据,比如说硬盘,光盘(DVD,C ...

  4. ETL工具框架开源软件

    http://www.oschina.net/project/tag/453/etl 开源ETL工具 Kettle Talend KETL CloverETL Apatar Scriptella ET ...

  5. 飞思卡尔单片机P&E开发工具硬件及软件

    原文链接: http://blog.sina.com.cn/s/blog_8ebff8d7010121tm.html 1.HC(S)08系列 开发机硬件:USB-ML-12 CYCLONE PRO U ...

  6. 实验一:使用符号执行工具klee对软件进行破解(来自于klee官网)

    原文地址:https://gitlab.com/Manouchehri/Matryoshka-Stage-2/blob/master/stage2.md 实验用代码下载地址:https://gitla ...

  7. Ubuntu 16.04安装Ubuntu After Install工具实现常用软件批量安装

    这个软件集成了常用且好用的软件,且只需要选择需要的软件之后自动安装好,不需要额外设置. 安装: sudo add-apt-repository ppa:thefanclub/ubuntu-after- ...

  8. cglib、orika、spring等bean copy工具性能测试和原理分析

    简介 在实际项目中,考虑到不同的数据使用者,我们经常要处理 VO.DTO.Entity.DO 等对象的转换,如果手动编写 setter/getter 方法一个个赋值,将非常繁琐且难维护.通常情况下,这 ...

  9. 【科研工具】流程图软件Visio Pro 2019 详细安装破解教程

    [更新区] 安装教程我下周会在bilibili上传视频,这周事情太多暂时先不弄. [注意] 安装Visio需要和自己的Word版本一样,这里因为我的Word是学校的正版2019(所以学校为什么正版没买 ...

  10. Makefile 学习&binutils工具集,软件开发利器

    gcc -E 能有效的帮助我们解决与宏有关的编译错误: gcc -S能获得一个C源程序文件的汇编程序: gcc -v能获得系统头文件的路径 生成依赖关系: gcc -M gcc -MM 生成不包含系统 ...

随机推荐

  1. Python入门系列(十一)一篇搞定python操作MySQL数据库

    开始 安装MySQL驱动 $ python -m pip install mysql-connector-python 测试MySQL连接器 import mysql.connector 测试MySQ ...

  2. **手把手教你安装 Anaconda + Tensor flow+Pycharm**

    手把手教你安装 Anaconda + Tensor flow+Pycharm 这篇博文主要讲一下自己安装Anaconda + Tensor flow + Pycharm 的一个过程. 1. ANACO ...

  3. Deepin20 LNMP环境搭建(又一个瞎折腾的经历)

    背景 最近头脑发热,想安装个Linux系统来办工,所以安装了Deepin20的系统,折腾了一天的LNMP的环境,记录一下瞎折腾的过程. lnmp 是一个常见的web开发的环境 nginx 如果安装过可 ...

  4. 在 Kubernetes 上运行高可用的 Kafka 集群

    转载自:https://www.qikqiak.com/post/deploy-kafka-ha-on-k8s/ Apache Kafka 是目前最流行的分布式消息发布订阅系统,虽然 Kafka 非常 ...

  5. 第四章:Django表单 - 1:使用表单

    假设你想从表单接收用户名数据,一般情况下,你需要在HTML中手动编写一个如下的表单元素: <form action="/your-name/" method="po ...

  6. filebeat测试output连通性

    在默认的情况下,直接运行filebeat的话,它选择的默认的配置文件是当前目录下的filebeat.yml文件. filebeat.yml文件内容 filebeat.inputs: - type: l ...

  7. [CG从零开始] 4. pyopengl 绘制一个正方形

    在做了 1-3 的基础工作后,我们的开发环境基本 OK 了,我们可以开始尝试利用 pyopengl 来进行绘制了. 本文主要有三个部分 利用 glfw 封装窗口类,并打开窗口: 封装 shader 类 ...

  8. WinDbg Preview安装以及符号表配置

    1.安装WinDbgPreview 在Microsoft Store直接搜索windbg就可以下载. 2.配置符号服务器 2.1 符号 符号是方便调试程序的文件,通常是pdb文件.一个模块(可执行程序 ...

  9. varchar与varchar2的区别

    1. varchar2所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节. 2. varchar2把空串等同于null处理,而varchar ...

  10. CentOS 7.9 安装 rocketmq-4.9.2

    一.CentOS 7.9 安装 rocketmq-4.9.2 地址: https://rocketmq.apache.org https://github.com/apache/rocketmq ht ...