zoukankan      html  css  js  c++  java
  • 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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    arcgis api 3.x for js 入门开发系列八聚合效果(附源码下载)
    arcgis api 3.x for js 入门开发系列七图层控制(附源码下载)
    arcgis api 3.x for js 入门开发系列六地图分屏对比(附源码下载)
    arcgis api 3.x for js 入门开发系列五地图态势标绘(附源码下载)
    arcgis api 3.x for js 入门开发系列四地图查询(附源码下载)
    Java里面获取当前服务器的IP地址
    Flutter at Google I/O 2018
    Modbus RTU 协议使用汇总
    plsql 创建表空间、用户、赋予权限
    Oracle:ODP.NET Managed 小试牛刀
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/9796285.html
Copyright © 2011-2022 走看看