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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM