您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 理论文章 > lmbench性能工具介绍及详细结果分析
Lmbench工具1.工具介绍:Lmbench用于测试OS提供的基本系统调用的性能,主要衡量两个关键特征:反应时间和带宽。LMbench的主要功能:带宽测评工具:读取缓存文件、拷贝内存、读内存、写内存、管道、TCP。延时测评工具:上下文切换、网络(连接的建立,管道,TCP,UDP和RPChotpotato)、文件系统的建立和删除、进程创建、信号处理、上层的系统调用、内存读入反应时间。其他:处理器时钟比率计算。2.安装与使用1、解压工具包#tarzxvflmbench-3.0-a9.tgz#cdlmbench-3.0-a92、删除可能存在的编译文件和编译结果:#lsresults|grep–viMakefile|rm–rf#makeclean3、配置运行一次:#makeresults配置相关参数-MULTIPLECOPIES,同时运行并行测试数量,对应为结果中的scalload项-Jobplacementselection,作业调度控制方法,选1允许作业调度-Optionstocontroljobplacement,选择1-Memory,设置为略大于4倍的cachesize,值越大结果越精确,运行时间越长-SUBSE,所要运行的子集,包括ALL/HARWARE/OS/DEVELOPMENT-Email最好选择no避免太长时间-其余选项保持默认即可4、写入结果并查看:#makesee5、再次运行:#makererun[不必重新配置]3.结果分析测试结果包含主机各种测试的速度或者延迟,单位-微秒。3.1.系统基本参数Basicsystemparameters------------------------------------------------------------------------------HostOSDescriptionMhztlbcachememscalpageslineparloadbytes---------------------------------------------------------------------c-Lenovo-Linux3.8.13.i686-pc-linux-gnu1731841283.42001Tlbpages:转换后备缓存的页面数;Cachelinebytes:高速缓存行字节数mempar:存储器分层并行化scalload:并行执行的Lmbench数目3.2.处理器Processor性能【单位:μs,值越小性能越好】Processor,Processes-timesinmicroseconds-smallerisbetter------------------------------------------------------------------------------HostOSMhznullnullopenslctsigsigforkexecshcallI/OstatclosTCPinsthndlprocprocproc------------------------------------------------------------------c-Lenovo-Linux3.8.13.17310.190.361.483.057.600.532.32497.14743674nullcall:执行getppid需要的时间;nullI/O:从/dev/zero读一个字节的时间长A,写一个字节到/dev/null需要的时间长B,A和B取平均得本值;stat:stat一个文件(即得到一个文件的信息)需用的时间;openclose:open一个文件然后再close它总共需用的时间(不包括读目录和节点的时间);selctTCP:通过TCP网络连接选择100个文件描述符所耗用的时间;siginst:installsignalhandler所耗用的时间;sighndl:catchsignal所耗用的时间;forkproc:fork一个完全相同的process,并把原来的process关掉所耗用的时间。execproc:模拟一个shell进程的工作过程:fork一个新进程执行新命令,所耗用时间。shproc:模拟最常见情况:fork一个新进程,同时询问系统shell来找到并运行一个新程序所耗用时间。3.3.数学运算【单位:ns,值越小性能越好】整型:Basicintegeroperations-timesinnanoseconds-smallerisbetter-------------------------------------------------------------------HostOSintgrintgrintgrintgrintgrbitaddmuldivmod----------------------------------------------------c-Lenovo-Linux3.8.13.0.58000.29001.160013.112.0无符号整形:Basicuint64operations-timesinnanoseconds-smallerisbetter------------------------------------------------------------------HostOSint64int64int64int64int64bitaddmuldivmod----------------------------------------------------c-Lenovo-Linux3.8.13.1.0403.710033.740.0浮点型:Basicfloatoperations-timesinnanoseconds-smallerisbetter-----------------------------------------------------------------HostOSfloatfloatfloatfloataddmuldivbogo----------------------------------------------c-Lenovo-Linux3.8.13.1.16002.030013.713.3双精度型:Basicdoubleoperations-timesinnanoseconds-smallerisbetter------------------------------------------------------------------HostOSdoubledoubledoubledoubleaddmuldivbogo----------------------------------------------c-Lenovo-Linux3.8.13.1.16002.320013.413.33.4.上下文切换【单位:μs,值越小性能越好】Contextswitching-timesinmicroseconds-smallerisbetter-------------------------------------------------------------------------HostOS2p/0K2p/16K2p/64K8p/16K8p/64K16p/16K16p/64Kctxswctxswctxswctxswctxswctxswctxsw------------------------------------------------------------------c-Lenovo-Linux3.8.13.3.21001.08005.13004.52006.520013.029.9多个进程用unixpipe环连接起来,每个进程从自己的管道中读取token,执行任务,然后将token写给下一个进程。contextswithing时间包括:切换进程的时间,加上恢复进程所有状态所用时间(包括恢复cache状态)。2p/0K:每个进程的size为0(不执行任何任务),进程数为2时上下文切换耗用的时间;2p/16K:每个进程的size为16K(执行任务),进程数为2时上下文切换耗用的时间;3.5.本地通讯延时【单位:μs,值越小性能越好】*Local*Communicationlatenciesinmicroseconds-smallerisbetter---------------------------------------------------------------------HostOS2p/0KPipeAFUDPRPC/TCPRPC/TCPctxswUNIXUDPTCPconn------------------------------------------------------------c-Lenovo-Linux3.8.13.3.21016.012.612.921.5103.2p/0K:每个进程的size为0(不执行任何任务),进程数为2时上下文切换耗用的时间;Pipe:所谓的hotpotato测试:两个没有具体任务的进程用unixpipe通信,一个token在两个进程间来回传递,传递一个来回所耗用的平均时间;AFUNIX:同Pipe,不同的是两个进程采用unixsocket通信。UDP:同Pipe,不同的是两个进程采用UDP/IP通信;RPC/UDP:同Pipe,不同的是两个进程采用sunRPC通信;默认情况下,RPC通过udp协议传送。TCP:同Pipe,不同的是两个进程采用TCP/IP;RPC/TCP:同Pipe,不同的是两个进程采用sunRPC通信;指定RPC通过tcp协议传送。TCPconn:创建一个AF_INET(akaTCP/IP)socket,并连接到远程主机所耗用的时间,这个时间仅指创建socket和建立连接本身,不包括解析主机名等等其他动作所用时间。3.6.文档、内存延时【单位:μs,值越小越好】File&VMsystemlatenciesinmicroseconds-smallerisbetter-------------------------------------------------------------------------------HostOS0KFile10KFileMmapProtPage100fdCreateDeleteCreateDeleteLatencyFaultFaultselct----------------------------------------------------------------------c-Lenovo-Linux3.8.13.15.713.552.819.535.8K0.3413.798103.5350kcreate:0k文件创建所花的时间;0kDelete:0k文件删除所花的时间;MmapLatency:将指定文件的开头n个字节map到内存,然后umap,并记录每次map和umap共耗用的时间;记录的是每次耗用时间的最大值;ProtFault:保护页延时时间;PageFault:缺页延时时间;100fdselct:对100个文档描述符配置select的时间;3.7.本地通信带宽【单位:MB/S,值越大越好】*Local*CommunicationbandwidthsinMB/s-biggerisbetter-----------------------------------------------------------------------------HostOSPipeAFTCPFileMmapBcopyBcopyMemMemUNIXrereadreread(libc)(hand)readwrite---------------------------------------------------------------
本文标题:lmbench性能工具介绍及详细结果分析
链接地址:https://www.777doc.com/doc-6039207 .html