cpu存儲出現瓶頸
1. cpu 內存 出現瓶頸
你不需要說的這樣復雜,我問你,為什麼有內存,為什麼需要內存?我直接回答吧,如果沒有內存,CPU會直接讀寫硬碟並且很多都是重復讀寫,而家用硬碟來講根本不適合長時間連續讀寫,現在的家用硬橋閉讓盤還是7小時X3的讀寫時間,超過這個時間硬碟有可能會發出噪音,速度也不穩定,更有可能損壞硬碟加速硬碟老化,我這里說明一下,以免一些小白亂噴,你開機24小時,不代表你連續對硬碟讀寫了24小時,這個不細說了,所以就有了內存,因為硬碟速度滿足不了CPU,內存的作用就是大大減輕硬碟負擔防止重復讀寫硬碟,並且起到緩沖作用,看你上面寫的,你已經陷下去出不來了,內存超頻在高性能計算上可以起到作用,但矛盾的就是高性能計算反倒不會使用高頻率內存,因為考慮到穩定性問題,都採用低頻內存,你用家用級的酷睿系列、E3、E5-EP這種平台下超頻就是玩玩而已,應為內存採用的是預先取技術,超頻不能給你帶來性能提升的感覺,再說匯流排QPI匯流排也是DIM來的,因為這幾代的內存控制器集成到了CPU內部,所以就從QPI變為DIM你大致這樣理解就好了。
你看你問的問題,內存快於CPU還是CPU快於內存,你是不是很奇怪為什麼硬碟速度是固定的,但是有了內存速度就快很多,並且沒有瓶頸,假設沒有內存就會產生瓶頸,而且很卡很卡?難道你覺得CPU從硬碟直接取數據比內存從硬碟取數據慢?我告訴你硬碟速度是死的,內存是預取,你用什麼級別的計算已經要考慮內存瓶頸了。
忍不住再添加幾句,wed伺服器是處理網頁請求的一個種類的伺服器,它就需要較高的匯流排帶寬和內存性能,但矛盾的是這種伺服器幾乎都用低頻率內存,DDR3代的絕大多數還在1333,這種伺服器為什麼需要高內存性能和匯流排帶寬呢?因為他需要處理多請求,他需要在同一時間內通過很高的數據流,一分鍾內可能需要處理100-1000條請求帶寬低吞吐就少能夠同時處理的請求就少,所以他需要高的帶寬,並且需要搜索數據,多數情況下數據都是分散在硬碟何處的數據,不象我們玩游戲,打開某個程序,內存都可以完成全部的預取,請求伺服器上需要四處搜索數據,又不能使用高頻內存,解決和優化的辦法就是敏局提升物理內存的容量提高預取和數據等待,這種伺服器上不考慮穩定性,進行超頻才能感覺到性能提升,家用級的CPU是滿載了但你能用完DIM給你提供的匯流排帶寬?
再給你科普一下,CPU滿載不代表帶寬全部佔用, CPU滿載不代表CPU所有資源都用完了,舉個例子CPU假設只能做加法和減法兩種計算,計算速度最高是2MHZ,那麼CPU就有加法和減法兩個計算單元,這時CPU做加法速度達到2MHZ,這時CPU就滿載了,但是減法單元是閑置的沒有被利用。若是CPU能進行加減乘除,整數浮點運算,速度最高是100MHZ,那麼CPU做加法速度達到態攜100MHZ時CPU就滿載了,雖然CPU滿載了但是其他計算單元全都是閑置的,沒有被利用。