lmbench3安装、使用及常见问题解决
一、安装lmbench3
1.下载lmbench3安装包:lmbench3.tar.gz
2.执行解压命令
tar -zxvf lmbench3.tar.gz
注意:此时生成的lmbench3文件夹中的所有文件均为带锁状态,执行以下命令解锁,其中lmbench3为文件夹名
sudo chmod -R 777 lmbench3
3.进入lmbench3文件夹进行编译
cd lmbench3
make
二、编译报错及解决方法
1.make[2]: *** 没有规则可制作目标“…/SCCS/s.ChangeSet”,由“bk.ver” 需求。 停止。
解决方法:
在lmbench3文件夹下创建SCCS文件夹,并在SCCS文件夹中创建s.ChangeSet文件
mkdir SCCS
touch ./SCCS/s.ChangeSet
然后重新make编译
2./usr/bin/ld: /tmp/ccck5c7B.o: in function seekto': disk.c:(.text+0x44): undefined reference to
llseek’
解决方法
打开src/disk.c,移动到最后seekto函数进行修改
int
seekto(int fd, uint64 off)
{
if (lseek(fd, (loff_t)off, SEEK_SET) == (loff_t)-1) {
return(-1);
}
return (0);
}
然后重新make编译
三、使用方法
1.README文件中的官方教程,程序整体运行
README for lmbench 2alpha8 net release.
运行lmbench3的方法:
cd src
make results
如果你想看看和其他系统的结果相比你做得如何,执行
make see
需要注意的是,许多这些基准对其他事情都很敏感,在系统上运行,主要来自CPU缓存和CPU周期效应。所以要确保你的屏幕保护程序没有运行,等等。
像这样运行几次并比较输出是一个好主意
make results
make rerun
make rerun
make rerun
cd Results && make LIST=<your OS>/*
2.执行单个测试用例
方法(1)中讲的是lmbench3整体运行一遍,所有的测试用例都会测试一遍,耗时较长,有时我们只需要测试单个或少个用例,则可以进入到bin目录下,有的电脑有x86_64-linux-gnu文件夹则需继续进入,该目录下存放的都是编译生成的可执行文件,每个可执行文件对应一项测试用例。参数根据自己需要设定即可
例如:
测试管道带宽(64K psize 1M data)
./bw_pipe -P 1
测试管道带宽(128K psize 16M data)
./bw_pipe -P 1 -m 131072 -M 16777216