使用lmbench工具测试网卡性能

测试目标

测试基于ARM架构的网卡访问L1,L2 Cache和DRAM的latency。

lmbench工具

查到了很多测试工具,但好像只有lmbench能测试内存延迟,所以就选择了lmbench。

如何使用?

通过https://nchc.dl.sourceforge.net/project/lmbench/development/lmbench-3.0-a9/lmbench-3.0-a9.tgz下载了lmbench最新版本的代码。由于网卡没有连接上公网,所以不能直接使用wget命令下载,而是使用scp命令(ssh)把压缩包传输到网卡上[小技巧]。

进入下载目录,执行以下命令

tar -xvzf lmbench-3.0-a9.tgz
cd lmbench-3.0-a9/可是

进入到lmbench-3.0-a9/目录。直接make。我这里是直接make成功了。然后make results。

这里除了填写内存范围,也就是下图的部分(我填的是256,这里是找的网上的图),其他全按照默认就好。而且要注意的是,也不用傻傻输入默认值,直接按空格换行就好!!!因为在配置REMOTE的时候,输入字符就会出问题!!!好冤的坑。

好了配置好了但是并没有测试结果... 仔仔细细看了日志,发现$OS是空的,而且日志也提示这个脚本不能识别系统类型。最后的解决办法是,直接在配置文件scripts/os里,手动添加OS。我的机器MACHINE=aarch64,SYSTEM=Linux(日志里会给出),所以在echo $os上面一行添加OS="aarch64-Linux"。然后make results。虽然日志里还是说不能识别系统类型,但是可以出测试结果了!大概20分钟后,测试完成。

make see。在lmbench-3.0-a9/results目录下的summary.out可以查看结果。

测试结果分析

系统基本参数 

 tlb pages: 快表的页面数。

cache line bytes: cache的行字节数。

mem par: 存储器分层并行化(?什么意思)

scal load: 并行的lmbench数。

上下文切换

 

2p/0k:每个进程的size为0(不执行任何任务),2个并行处理(进程数为2)0K大小的数据。

2p/16k: 每个进程的size为16K(执行任务),2个并行处理16K大小的数据。

异常情况:2p/64k花费的时间怎么会是最小的?

文档、虚拟机系统内存延时

File Create & Delete: 创建并删除文档。

Mmap Latency: 内存映射(这个latency怎么这么大?

本地通信带宽

pipe: 管道操作,pipe的每个chunk为64K,通过该管道传送50M数据所用的时间。

AF UNIX: Unix协议,在两个进程之间建立一个unix stream socket,每个chunk为64K,通过该socket移动10M数据所用的时间。

TCP:TCP通信,使用TCO/IP socket通信,传输数据为3MB。

File reread:文档重复读。 

MMap reread:内存映射重复读 Bcopy(libc)。

内存拷贝 Bcopy(hand):内存拷贝。

Mem read:内存读,测试把数据读入processor的带宽。

Mem write:内存写,测试写数据到内存的带宽。

内存操作延时(平均Latency)

 L1:L1缓存操作延时。

L2: L2缓存操作延时。

Main mem: 系统内存连续操作延时。

原理:以某个固定步长循环访问地址空间,最后用时间除以访问测试。

Rand mem: 系统内存随机访问操作延时。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值