(工具) 性能测试基准软件 lmBench (待补充)
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="{SYSTEM}" 。本机的话,MACHINE用 uname -m 取得; SYSTEM通过 uname -s 拼接而成。
编译完成后,在 bin/$OS 目录下生成 lmbench 可执行文件,所有测试均由 lmbench 执行。
- 配置及测试
在 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 可选
参考
分类:
Linux系统
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构