首页
/
每日頭條
/
生活
/
内存性能在哪裡測試
内存性能在哪裡測試
更新时间:2026-05-21 09:25:04

一台服務器,不管是物理機還是虛拟機,必不可少的就是内存,内存的性能又是如何來衡量呢。

1. 内存與緩存

現在比較新的CPU一般都有三級緩存,L1 Cache(32KB-256KB),L2 Cache(128KB-2MB),L3 Cache(1M-32M)。緩存逐漸變大,CPU在取數據的時候,優先從緩存去取數據,取不到才去内存取數據。

内存性能在哪裡測試(内存性能的正确解讀)1

2. 内存與時延

顯然,越靠近CPU,取數據的速度越塊,通過LMBench進行了讀數延遲的測試。

内存性能在哪裡測試(内存性能的正确解讀)2

從上圖可以看出:

  1. Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz 這款CPU的L1D Cache,L1I Cache為32KB,而L2 Cache為1M,L3為32M;
  2. 在對應的Cache中,時延是穩定的;
  3. 不同緩存的時延呈現指數級增長;

所以我們在寫業務代碼的時候,如果想要更快地提高效率,那麼使得計算更加貼近CPU則可以獲取更好的性能。但是從上圖也可以看出,内存的時延都是納秒為單位,而實際業務中都是毫秒為單位,優化的重點應該是那些以毫秒為單位的運算,而内存時延優化這塊則是長尾部分。

3. 内存帶寬

内存時延與緩存其實可謂是緊密相關,不理解透徹了,則可能測的是緩存時延。同樣測試内存帶寬,如果不是正确的測試,則測的是緩存帶寬了。

為了了解内存帶寬,有必要去了解下内存與CPU的架構,早期的CPU與内存的架構還需要經過北橋總線,現在CPU與内存直接已經不需要北橋,直接通過CPU的内存控制器(IMC)進行内存讀取操作:

内存性能在哪裡測試(内存性能的正确解讀)3

那對應的内存帶寬是怎樣的呢?測試内存帶寬有很多很多工具,linux下一般通過stream進行測試。簡單介紹下stream的算法:

内存性能在哪裡測試(内存性能的正确解讀)4

stream算法的原理從上圖可以看出非常簡單:某個内存塊之間的數據讀取出來,經過簡單的運算放入另一個内存塊。那所謂的内存帶寬:内存帶寬=搬運的内存大小/耗時。通過整機合理的測試,可以測出來内存控制器的帶寬。下圖是某雲産品的内存帶寬數據:

------------------------------------------------------------- Function Best Rate MB/s Avg time Min time Max time Copy: 128728.5 0.134157 0.133458 0.136076 Scale: 128656.4 0.134349 0.133533 0.137638 Add: 144763.0 0.178851 0.178014 0.181158 Triad: 144779.8 0.178717 0.177993 0.180214 -------------------------------------------------------------

内存帶寬的重要性自然不言而喻,這意味着操作内存的最大數據吞吐量。但是正确合理的測試非常重要,有幾個注意事項需要關注:

  1. 内存數組大小的設置,必須要遠大于L3 Cache的大小,否則就是測試緩存的吞吐性能;
  2. CPU數目很有關系,一般來說,一兩個核的計算能力,是遠遠到不了内存帶寬的,整機的CPU全部運行起來,才可以有效地測試内存帶寬。當然跑單核的stream測試也有意義,可以測試内存的延時。
4. 其他
  1. 内存與NUMA的關系:開啟NUMA,可以有效地提供内存的吞吐性能,降低内存時延。
  2. stream算法的編譯方法選擇:通過icc編譯,可以有效地提供内存帶寬性能分。原因是Intel優化了CPU的指令,通過指令向量化和指令Prefetch操作,加速了數據的讀寫操作以及指令操作。當然其他C代碼都可以通過icc編譯的方法,提供指令的效率。

作者:ecs西邪

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
面包為什麼會變硬
面包為什麼會變硬
面包會變硬主要原因是面包中的澱粉發生了老化,面包制作過程中,澱粉會吸收吸水膨脹,使面包松軟且有彈性但長時間放置的面包中的澱粉體積會不斷縮小,氣體逸出,使面包發硬、變幹。面包變硬不變質的情況下是可以食用的。面包為什麼會變硬 面包在存放的過程中會變硬是因為面包中的澱粉發生了老化。制作面包的主要原材料就是...
2026-05-21
皮床哪個品牌比較好 皮床有味道怎麼去除
皮床哪個品牌比較好 皮床有味道怎麼去除
對于進入購買家具階段的業主來說,天天都面臨着選擇困難。市面上各種家具多如牛毛,光材質可能就要分為好多種。就拿床來舉例,有皮的,有布藝的,價格不同,效果也不同,所以買前還是要做好攻略。今天小編就來和大家說說皮床哪個品牌比較好,皮床有味道怎麼去除的問題。皮床哪個品牌比較好1、顧家家居KUKA顧家家居是顧...
2026-05-21
幹蓮子要泡多久才可以煮
幹蓮子要泡多久才可以煮
幹蓮子要泡三小時才可以煮,因為幹蓮子是通過晾曬形成的幹燥蓮子,使用前需充分浸泡,才更容易煮爛。蓮子就是荷花的種子,它是一種非常好的食材,可以用來熬粥或者炖湯。泡幹蓮子最好用冷水或溫水,不宜使用沸水。幹蓮子要泡多久才可以煮 幹蓮子顧名思義是一種用新鮮蓮子通過晾曬形成的幹燥蓮子,它在食用前需要充分泡發,...
2026-05-21
電視劇收視率排行榜2022 電視劇收視率實時查詢
電視劇收視率排行榜2022 電視劇收視率實時查詢
最近有不少朋友們在反饋說找不到什麼好看的劇,開始劇荒了,這可真的是非常的無聊,今天小編就為大家帶來了這個月的電視劇收視率排行榜,讓我們一起來看看大家最近都在追什麼劇吧。第一部《數風流人物》收視:1.164%/1.016%總之,就像導演餘丁說的,這部劇中的每一個史實故事、每一個人物都是真實而鮮活的。在...
2026-05-21
大閘蟹蒸熟後放冰箱還能吃嗎 大閘蟹蒸熟後放冰箱過一會在拿出來還能吃嗎
大閘蟹蒸熟後放冰箱還能吃嗎 大閘蟹蒸熟後放冰箱過一會在拿出來還能吃嗎
大閘蟹是一種美味而又有營養的螃蟹,歸脾、肝、胃。具有清熱、養筋活血、祛痰、祛黃等作用。用于治療腰酸腿痛、風濕性關節炎、骨折瘀血等病症。但是我們有的時候會做多,那麼大閘蟹蒸熟後放冰箱還能吃嗎,大閘蟹的具體功效是什麼,讓我們一起來看看吧。大閘蟹蒸熟後放冰箱還能吃。如果煮熟後沒有吃完,可以用保鮮膜包裹起來...
2026-05-21
Copyright 2023-2026 - www.tftnews.com All Rights Reserved