• Linux内存带宽的一些测试笔记【转】


    转自:https://blog.csdn.net/subfate/article/details/40343497

    版权声明:本文为迟思堂主人李迟原创文章,版权所有。可随便任意使用(包括学习研究商用),但由此带来的成果或后果,概与作者无关。胡乱修改的,不注明出处的,概不负责。 

    https://blog.csdn.net/subfate/article/details/40343497
    最近要测一下设备的内存性能,于是找了些资料,用了些工具,写了些笔记。那个设备是intel的CPU,而intel有个很强大的工具,叫PTU,但我死活找不到下载链接,找到的文章是几年前写的,从那篇文章看是可以使用的,但我却无缘使用。
    
    在测试前,理应了解本机所具备的特点,比如CPU频率、内存频率、内存大小,等等信息。
    
    查看CPU用如下命令(多少个核,频率,特性等):
    
    cat /proc/cpuinfo
    
    查看内存用如下命令:(只有当前内存大小,已用空间等等,不能看到内存频率)
    
    cat /proc/meminfo
    
    要查看内存型号和频率等信息,用如下的命令:
    
    sudo dmidecode -t memory
    
    查看cpu内核频率命令:
    
    cat /proc/cpuinfo |grep MHz|uniq
    
     
    
    内存带宽的计算公式是:带宽=内存核心频率×内存总线位数×倍增系数。简化公式为:标称频率*位数。比如一条DDR3 1333MHz 64bit的内存,理论带宽为:1333*64/8=10664MiB/s = 10.6GiB/s。
    
     
    
    下面写一下几个有关的工具
    1、mbw工具
    
    ubuntu下已经可以直接安装使用,无须下载源码编译。安装命令:
    
    apt-get install mbw
    
    常用命令:
    
    mbw -q -n 10 256
    
    -n 10表示运行10次,256表示测试所用的内存大小,单位为MB。
    
    mbw测试了MEMCPY、DUMB、MCBLOCK等方式的内存带宽。从测试结果看,前2都差不多,最后一种测试得到的带宽值比较高。
    
    下面是使用taskset指定CPU核心和运行mbw次数的脚本。真正使用到的是taskset命令,它可以指定程序在哪个CPU核上跑,在多核CPU上,是个不错的工具。
    
    #!/bin/bash
    i=0;
    while [[ $i -lt $1 ]]
    do
        echo to cpu$i
        taskset -c $i mbw -q -n $2 256 > /dev/null &
        ((i++));
    done
    
    如./foo 2 10,表示在序号为0到2的CPU跑mbw10次。
    
     
    
    2、bandwidth工具
    
    这个工具也很牛,网址为http://zsmith.co/bandwidth.html。它将测试结果生成BMP图,可以很直观观察各种内存大小的带宽。下载源码后,要改Makefile,把font.o minifont.o放在OBJ处,否则编译不通过,我也搞了很久才解决编译问题的。这个工具支持很多平台,输入make就可以看到。在32位x86上编译命令:make bandwidth32。直接运行,之后有结果和BMP输出,不过时间要久一点。
    
     
    
    3、lmbench工具
    
    这个工具功能强大,像内存、CPU、文件系统、网络,都可以测试。ubuntu直接apt-get install lmbench来安装即可,不用自己下载源码。直接运行lmbench,此时要很多项要手动填写,不过大部分用默认即可。但建议测试的内存不要选太大,否则系统空间就不够,如果内存很大,可以用512MB或1024MB,不要用默认的那个值就行。最后,像mail这些,直接输入no就行了。运行时间也是挺久的,测试结果后,有提示说结果文件存放在哪个目录,到那个目录下拿就行了。
    
    不过我发现,直接安装的lmbench,并没有单独测试某一种性能的工具,而且运行时间也久,于是在网找上了源码,地址为:http://sourceforge.net/projects/lmbench/files/latest/download,很久以前,很多外国网站都访问不了,只能自己想办法找代理去下载了。下载后,直接解压,输入make即可。会生成很多不同的测试工具,每一个都可以单独来测试,时间节省不了。——我实在不想只测试一内存性能的时候,让工具测试一堆的CPU、硬盘、网络的带宽。
    
     
    
    参考:
    
    http://blog.yufeng.info/archives/1511
    
     
    
    PS:对于intel网站的那个工具,下载要注册,而且文件十分庞大,还有图形界面,功能当然也十分强大,但我不想只测试一点东西就搞那么多的东西,因而只好放弃了。

    李迟,于2014年10月21日中午,发表前好几天已写好文章
    ---------------------
    作者:李迟
    来源:CSDN
    原文:https://blog.csdn.net/subfate/article/details/40343497?utm_source=copy
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    Jquery小技巧
    搭建Eclipse+MyEclipse+Tomcat开发环境
    ASP.NET:就是喜欢Web Form,就是喜欢拖控件(二)
    ASP.NET:就是喜欢Web Form,就是喜欢拖控件(一)
    程序员能力矩阵 你属于哪一层?
    WEB
    ASP.NET:就是喜欢Web Form,就是喜欢拖控件(四)
    ASP.NET:就是喜欢Web Form,就是喜欢拖控件(五)
    jQuery:简单6行代码实现tab效果
    iPhone程序开发新人FAQ
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/9796285.html
Copyright © 2020-2023  润新知