Linux硬體IO的優化簡介

2021-07-27 22:39:57 字數 1634 閱讀 4169

首先簡單介紹下有哪些硬體裝置如下(由於硬體種類廠家等各種因素我就不在此多做介紹有興趣的可以自行學習):

1.cpu:**處理器,是計算機運算控制的核心部件之一,相當於人的大腦。如下圖

2.ram:記憶體條與cpu溝通的橋梁,很多資料和運算在記憶體中做臨時處理,相當於你在做快速記憶運算的狀態,如下圖:

3.disk:硬碟使我們用來存放資料和資料的倉庫,因為記憶體是臨時儲存斷電後會釋放其中的所有資料,所以要儲存備份資料就要用到硬碟,且硬碟空間要比記憶體大。好比你的筆記本俗話說的好,好記性不如爛筆頭,寫下來只要筆記本不丟,資料就一直在,一目了然!如下圖:

5.mainboard:主機板是以上裝置所需要的工作環境,好比乙個團隊team,各盡其責發揮其作用完成各項複雜的操作記錄等。好比我們生活的這個環境(board),需要我們去思考處理各種工作(cpu),記錄生活中美好的回憶(ram),用相機拍下最美麗的瞬間(disk),聯絡親朋好友等(nic)。圖如下:

好了簡單介紹完上面的裝置組建後來看乙個圖:

這圖反應了對應關係標註也詳細解釋的其作用處理機空間的關係,空間越大的讀寫速度一般都是會成反比,好比乙個大倉庫找到你想要的商品肯定慢,相比小倉庫一目了然幾平公尺小空間找到商品就容易快一樣的道理。我們繼續看另乙個圖:

這裡簡單列出了每個環節的讀寫速度與時間的對應關係,在強調一邊這裡的空間是處理資料的大小多少與速度相關而不是儲存空間,切記不要弄混淆。這圖簡單粗暴的說明cpu強大運算能力與運算速度納秒級響應,記憶體緊追隨於cpu但明顯處理資料就少很多了,好比學霸秒解的題目,你還要運算思考幾秒到幾十秒才能解出。

那麼問題來了怎麼去解決這中間處理關係也就是簡稱優化:

常用方案1如下圖:

例如你**有大量寫入資料的時候,又要保證同讀取的資料夠快時,採用全部寫入記憶體的形式,控制一定資料大小一次行寫如硬碟,前面已經介紹了cpu處理的資料,記憶體的寫讀都是緊跟隨cpu的,這樣保證在讀寫時候的效應速度,減少硬碟的讀寫次數(因為都知道硬碟讀寫效率慢只適合用來儲存資料)。這裡只是**思路,具體根據要求在制定。

常用方案2如下圖:

oracle效能優化簡介

最近這段時間剛做了一項效能優化的工作,根據一周的statspack報告,寫了乙個優化方案。一 系統現有的主要效能問題 從最近一周比較典型的statspack報告來看,系統中主要的等待事件如下 top 5 timed events event waits time s total ela time c...

SBC 演算法簡介與PLC的優化簡介

2.演算法基本框圖 4.sbc演算法實現 sbc的整個過程就是將原始輸入訊號 pcm 通過帶通濾波,將其分割為若干個子頻帶 subband 將各個自帶搬移到零頻率附近,並對各個子頻帶進行取樣和編碼。最後合路輸出。5.plc的簡介 plc time and packet loss concealmen...

聊聊「尾遞迴優化「簡介拷貝構造 拷貝賦值

尾遞迴.顧名思義,將本函式的工作結果作為引數,呼叫本函式,然後將其結果返回.尾遞迴可以被優化.原因在於 在尾遞迴中我們不需要儲存上一次本函式呼叫的結果.因為我們已經在尾部了 用for迴圈即可 尾遞迴 recursion int a 具體操作 recursion a 用for優化後 for 退出條件 ...