Linux記憶體頻寬的一些測試筆記

2021-08-13 18:07:57 字數 972 閱讀 9608

在測試前,理應了解本機所具備的特點,比如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工具

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 ]]

doecho to cpu$i

taskset -c $i mbw -q -n $2 256 > /dev/null &

((i++));

done

如./foo 2 10,表示在序號為0到2的cpu跑mbw10次。

2、bandwidth工具

3、lmbench工具

參考:

記憶體頻寬測試 STREAM的使用

一 stream的起源 stream測試工具是由時為美國delaware大學教授 john mccalpin提出和完成的,現在隨著john mccalpin教授的工作變動,負責 stream 的維護和改進的所有工作人員也轉移到了virginia大學的電腦科學系。二 stream的用途 stream是...

Linux的記憶體管理的一些總結

1.kmalloc 在arm平台上,kmalloc是以cache line的位元組數對齊的,比如cortex a8,a15是64bytes 對齊,而cortex a9則是32bytes 對齊。2.如何知道系統中可用的memory the free memory is memfree buffers ...

頻寬對於併發連線的一些總結

示例頁面 首頁是有105個請求,頁面大小為730kb.客戶端環境為win7 ie8 httpwatch,載入完www.qq.com為4.6s ie8 瀏覽器的預設併發數是6,即同乙個網域名稱的併發連線數為6個.所以img.qq.com和www.qq.com同時出現在乙個頁面中,則可以有12個併發連線...