全部博文(404)
分类: LINUX
2010-03-19 15:18:36
LMbench
Lmbench是一套简易,可移植的,符合ANSI/C标准为UNIX/POSIX而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench旨在使系统开发者深入了解关键操作的基础成本。
*开发状态:5-产品/稳定、6-成熟
*环境:控制台(基于文本)
*潜在用户:开发人员、终端用户/台式机用户、系统管理员
*自然语言:英语
*操作系统:POSIX
*编程语言:C语言
*主题:Benchmark测评工具、网络、操作系统内核
功能
*带宽测评工具
读取缓存文件
拷贝内存
读内存
写内存
管道
TCP
* 反应时间测评工具
上下文切换
网络: 连接的建立,管道,TCP,UDP和RPC hot potato
文件系统的建立和删除
进程创建
信号处理
上层的系统调用
内存读入反应时间
* 其他
处理器时钟比率计算
以下列出了其他用户喜欢Lmbench的一些可能的原因:
对于操作系统的可移植性测试
评测工具是由C语言编写的,具有较好的可移植性(尽管它们更易于被GCC编译)。这对于产生系统间逐一明细的对比结果是有用的。
自适应调整
Lmbench对于应激性行为是非常有用的。当遇到BloatOS比所有竞争者慢4倍的情况时,这个工具会将资源进行分配来修正这个问题。
数据库计算结果
数据库的计算结果包括了从大多数主流的计算机工作站制造商上的运行结果。
存储器延迟计算结果
存储器延迟测试展示了所有系统(数据)的缓存延迟,例如一级,二级和三级缓存,还有内存和TLB表的未命中延迟。另外,缓存的大小可以被正确划分成一些结果集并被读出。硬件族与上面的描述相象。这种测评工具已经找到了操作系统分页策略的中的一些错误。
上下文转换计算结果
很多人好象喜欢上下文转换的数量。这种测评工具并不是特别注重仅仅引用“在缓存中”的数量。它时常在进程数量和大小间进行变化,并且在当前内容不在缓存中的时候,将结果以一种对用户可见的方式进行划分。您也可以得到冷缓存上下文切换的实际开销。
回归测试
Sun公司和SGI公司已经使用这种测评工具以寻找和补救存在于性能上的问题。
Intel公司在开发P6的过程中,使用了它们。
Linux在Linux的性能调整中使用了它们。
新的测评工具
源代码是比较小的,可读并且容易扩展。它可以按常规组合成不同的形式以测试其他内容。举例来说,如包括处理连接建立的库函数的网络测量,服务器关闭等。
运行
您需要:
(1) Benchmark资源,可以查看前面的关于此方面的内容。
(2)一个有16M(或更多)内存的电脑。
(3)存放资源和二进制代码的硬盘空间:大约2M。
(4)存放运行benchmark所需要的工作文件的硬盘空间:大约16M。
另外,如果您拥有两台连接到一个空闲网络的相同的电脑,benchmark会工作的更加出色。我个人会提供5美元以得到当前的计算机对的计算结果,假设我没有这些计算结果并且我想得到他们(386电脑对的结果,我并不感兴趣)。联系我以得到您的奖励。
将LMbench解包并创建如下的树型结构:
lmbench/
Results/
doc/
scripts/
src/
所有的为了人为消耗而创建的目录已经注释了Makefiles文件。阅读它们是非常值得的。
来到顶级目录,输入生成并查看计算结果,过一会它会自行工作。此测评工具会花费大约半个小时进行运行(速度慢的电脑会持续更长时间)。
此测评工具的二进制代码会放置在路径为:bin/您的操作系统名字 中。
计算结果会放置在路径为:Results/您的操作系统名字/您的主机名字 中。
来到结果目录中,并且查看Makefile 文件以获取更多信息。