学生联盟网为您提供优质参考范文! 体会工作报告法律咨询精彩演讲各类材料
当前位置: 学生联盟网 > 外语考试 > 韩语学习 > lmbench性能工具介绍及详细结果分析

lmbench性能工具介绍及详细结果分析

时间:2021-07-22 13:20:34 来源:学生联盟网

Lmbench工具1.工具介绍Lmbench用于测试OS提供的基本系统调用的性能,主要衡量两个关键特征反应时间和带宽。LMbench的主要功能带宽测评工具读取缓存文件、拷贝内存、读内存、写内存、管道、TCP。延时测评工具上下文切换、网络(连接的建立,管道,TCP,UDP和RPC hot potato)、文件系统的建立和删除、进程创建、信号处理、上层的系统调用、内存读入反应时间 。

  其 他处理器时钟比率计算。2.安装与使用1、解压工具包tar zxvf lmbench-3.0-a9.tgzcd lmbench-3.0-a92、删除可能存在的编译文件和编译结果ls results | grep vi Makefile | rm rfmake clean3、配置运行一次make results配置相关参数 MULTIPLE COPIES,同时运行并行测试数量,对应为结果中的scalload项 Job placement selection,作业调度控制方法,选1允许作业调度 Options to control job placement,选择1 Memory,设置为略大于4倍的cache size,值越大结果越精确,运行时间越长 SUBSE,所要运行的子集,包括ALL/HARWARE/OS/DEVELOPMENT Email最好选择no 避免太长时间 其余选项保持默认即可4、写入结果并查看make see5、再次运行make rerun 不必重新配置3.结果分析 测试结果包含主机各种测试的速度或者延迟,单位-微秒。3.1.系统基本参数Basic system parameters------------------------------------------------------------------------------Host OS Description Mhz tlb cache mem scal pages line par load bytes--------- ------------- ----------------------- ---- ----- ----- ------ ----c-Lenovo- Linux 3.8.13.i686-pc-linux-gnu 1731 84 128 3.4200 1Tlb pages 转换后备缓存的页面数;Cache line bytes 高速缓存行字节数mem par 存储器分层并行化scal load并行执行的Lmbench数目3.2.处理器Processor性能【单位s,值越小性能越好】Processor,Processes - times in microseconds - smaller is better------------------------------------------------------------------------------Host OS Mhz null null open slct sig sig fork c sh call I/O stat clos TCP inst hndl proc proc proc--------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----c-Lenovo- Linux 3.8.13.1731 0.19 0.36 1.48 3.05 7.60 0.53 2.32 497.1474 3674null call 执行getppid需要的时间;null I/O 从/dev/zero读一个字节的时间长A,写一个字节到/dev/null需要的时间长B,A和B取平均得本值;statstat一个文件(即得到一个文件的信息)需用的时间; open close open一个文件然后再close它总共需用的时间(不包括读目录和节点的时间); selct TCP通过TCP网络连接选择100个文件描述符所耗用的时间;sig inst install signal handler所耗用的时间;sig hndl catch signal 所耗用的时间;fork proc fork一个完全相同的process,并把原来的process关掉所耗用的时间。c proc模拟一个shell进程的工作过程fork一个新进程执行新命令,所耗用时间。sh proc模拟最常见情况fork一个新进程,同时询问系统shell来找到并运行一个新程序所耗用时间。3.3.数学运算【单位ns,值越小性能越好】整型Basic integer operations - times in nanoseconds - smaller is better-------------------------------------------------------------------Host OS intgr intgr intgr intgr intgr bit add mul div mod--------- ------------- ------ ------ ------ ------ ------c-Lenovo- Linux 3.8.13.0.5800 0.2900 1.1600 13.1 12.0无符号整形Basic uint64 operations - times in nanoseconds - smaller is better------------------------------------------------------------------Host OS int64 int64 int64 int64 int64 bit add mul div mod--------- ------------- ------ ------ ------ ------ ------c-Lenovo- Linux 3.8.13.1.040 3.7100 33.7 40.0浮点型Basic float operations - times in nanoseconds - smaller is better-----------------------------------------------------------------Host OS float float float float add mul div bogo--------- ------------- ------ ------ ------ ------c-Lenovo- Linux 3.8.13.1.1600 2.0300 13.7 13.3双精度型Basic double operations - times in nanoseconds - smaller is better------------------------------------------------------------------Host OS double double double double add mul div bogo--------- ------------- ------ ------ ------ ------c-Lenovo- Linux 3.8.13.1.1600 2.3200 13.4 13.33.4.上下文切换【单位s,值越小性能越好】Context switching - times in microseconds - smaller is better-------------------------------------------------------------------------Host OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw--------- ------------- ------ ------ ------ ------ ------ ------- -------c-Lenovo- Linux 3.8.13.3.2100 1.0800 5.1300 4.5200 6.5200 13.0 29.9多个进程用unix pipe环连接起来,每个进程从自己的管道中读取token,执行任务,然后将token写给下一个进程。context swithing时间包括切换进程的时间,加上恢复进程所有状态所用时间(包括恢复cache状态)。2p/0K每个进程的size为0(不执行任何任务),进程数为2时上下文切换耗用的时间;2p/16K每个进程的size为16K(执行任务),进程数为2时上下文切换耗用的时间;3.5.本地通讯延时【单位s,值越小性能越好】*Local* Communication latencies in microseconds - smaller is better---------------------------------------------------------------------Host OS 2p/0K Pipe AF UDP RPC/ TCP RPC/ TCP ctxsw UNIX UDP TCP conn--------- ------------- ----- ----- ---- ----- ----- ----- ----- ----c-Lenovo- Linux 3.8.13.3.210 16.0 12.6 12.9 21.5 103.2p/0K每个进程的size为0(不执行任何任务),进程数为2时上下文切换耗用的时间;Pipe所谓的hot potato测试两个没有具体任务的进程用unix pipe通信,一个token在两个进程间来回传递,传递一个来回所耗用的平均时间;AF UNIX同Pipe,不同的是两个进程采用unix socket通信。UDP同Pipe,不同的是两个进程采用UDP/IP 通信;RPC/UDP同Pipe,不同的是两个进程采用sun RPC 通信;默认情况下,RPC通过udp协议传送。TCP同Pipe,不同的是两个进程采用TCP/IP; RPC/TCP同Pipe,不同的是两个进程采用sun RPC 通信;指定RPC通过tcp协议传送。TCP conn创建一个AF_INET aka TCP/IP socket,并连接到远程主机所耗用的时间,这个时间仅指创建socket和建立连接本身,不包括解析主机名等等其他动作所用时间。3.6.文档、内存延时【单位s,值越小越好】File VM system latencies in microseconds - smaller is better-------------------------------------------------------------------------------Host OS 0K File 10K File Mmap Prot Page 100fd Create Delete Create Delete Latency Fault Fault selct--------- ------------- ------ ------ ------ ------ ------- ----- ------- -----c-Lenovo- Linux 3.8.13.15.7 13.5 52.8 19.5 35.8K 0.341 3.79810 3.5350k create 0k文件创建所花的时间;0k Delete 0k文件删除所花的时间;Mmap Latency 将指定文件的开头n个字节map到内存,然后umap,并记录每次map和umap共耗用的时间;记录的是每次耗用时间的最大值;Prot Fault 保护页延时时间;Page Fault 缺页延时时间;100fd selct 对100个文档描述符配置select的时间;3.7.本地通信带宽【单位MB/S,值越大越好】*Local* Communication bandwidths in MB/s - bigger is better-----------------------------------------------------------------------------Host OS Pipe AF TCP File Mmap Bcopy Bcopy Mem Mem UNIX reread reread libc hand read write--------- ------------- ---- ---- ---- ------ ------ ------ ------ ---- -----c-Lenovo- Linux 3.8.13.836.1268 916.1239.2 2947.9 1298.4 1360.6 2972 1829.Pipe在两个进程间建立一个unix pipe,pipe的每个chunk为64K,通过该管道移动50M数据所用的时间。AF UNIX在两个进程间建立一个unix stream socket,每个chunk为64K,通过该socket移动10M数据所用的时间。TCP同Pipe,不同的是进程间通过TCP/IP socket 通信,传输的数据为3MB;File reread读文件并把他们汇总起来所用的时间;Mmap reread将文件map到内存中,从内存中读文件并把他们汇总起来所用的时间;Bcopylibc do bw_mem i bcopy,从指定内存区域拷贝指定数目的字节内容到指定的另一个内存区域的速度;Bcopyhanddo bw_mem i fcp,把数据从磁盘上一个位置拷贝到另一个位置所用的时间;Mem readbw_mem i frd,累加数组中的整数值,测试把数据读入processor的带宽;Mem writedo bw_mem i fwr,把整数数组的每个成员设置为1,测试写数据到内存的带宽;3.8.内存操作延时【单位ns,值越小性能越好】Memory latencies in nanoseconds - smaller is better WARNING - may not be correct,check graphs------------------------------------------------------------------------------Host OS Mhz L1 L2 Main mem Rand mem Guesses--------- ------------- --- ---- ---- -------- -------- -------c-Lenovo- Linux 3.8.13.1731 2.3130 11.6 55.6 194.6本测试执行lat_mem_rd,将整数数组每第4个元素的值累加起来;测试的是读数据到processor的带宽。如果测试配置为执行快速测试,则本测试只测128M内存的情况,否则,将分别测试16 32 64 128 256 512 1024M的情况。测试结果读输出结果中以stride128 开头的段,段中两个字段单位为megabytes,megabytes_per_second;L1 输出结果中以 stride128 开头的段中,首字段(size)为 0.00098 行的第二字段;L2 输出结果中以 stride128 开头的段中,首字段(size)为 0.12500行的第二字段;Main mem最后行的第二字段值;Rand mem系统内存随机访问操作延时;Guesses判断前面得到的L1和L2值差值占其中最大值的百分比,如果大于20,且L2和Main mem差值占其中最大值的百分比小于20,则输出”No L2 cache“;否则,判断L1和L2差距与其中最大值的百分比,如果小于20,则输出”No L1 cache“;否则什么也不输出。4.其他系统对比【从数据看,不同系统无可比性】处理器Processor性能测试时间-微秒交换上下文性能测试时间-微秒本地通信延迟,单位-微秒,如下文件虚拟系统延迟的测试,如下图所示本地通信带宽的测试,单位-MB/s,如下图所示内存延迟测试,单位-奈秒,如下图所示