linux 調優(之cpu與記憶體基本概念)

2021-09-25 22:23:38 字數 1330 閱讀 5726

cpu: 時間片,time slice

優先順序:

排程器:big o

o(1)時間複雜度

140個佇列掃瞄每個佇列的首部從高到低

0-139:使用者空間級優先順序,用nice調整,靜態的

0-99實時優先順序:動態優先順序,核心會維護乙個追蹤程序狀態的機制,它會根據每乙個程序根據此前被排程的時長或者次數實時的調整優先順序

mysql:單程序多執行緒

32bits系統 mysql 能使用2.7g記憶體

什麼是copy on write:

程序開始都跟父程序使用相同的位址空間,當這個新的程序需要對這段記憶體空間進行寫操作由於這段空間是負程序,如果它有許可權寫,就會程序阻塞觸發保護異常(protection fault)就會進行寫時複製(copy on write)

什麼是共享庫:

shared library is va 共享庫將兩個程序當中用到的共享庫只儲存乙份/lib64/ 或者 /lib/ 目錄下以so結尾的檔案 (這段**)它們都被呼叫執行的**段,如果需要處理資料一定是程序位址空間自己的資料

跟這段**沒有關係,所以不論被任何程序呼叫都不會有影響

什麼是32bit系統的pae:

對於32位使用pae技術,可以使用64g記憶體,但是對於每個程序還是 3+1 g

cpu跟外部io裝置互動方式:

poll:輪詢cpu按固定時間去檢視各io,忙等待,效能很差

中斷:每個io裝置啟動時都想cpu註冊乙個中斷號,針腳感知中斷,知道那個裝置,根據裝置註冊的ioport 就是裝置註冊的位址空間 ioport 16bit 65535 每個使用幾個或者幾十個。每個io在完成資料交換有個放資料的暫存器。

dma:直接記憶體訪問,某個io裝置自帶晶元,它有訪問位址匯流排,控制匯流排,資料匯流排的許可權,所有cpu在接到某個io裝置的第一次中斷後,同乙個主機同乙個事件把後續的操作交給了dma去完成

32bits系統記憶體分配:

zone_dma: 16m給dma使用

zone_normal:16m-896m可以被系統核心直接訪問的記憶體位址空間

reserved:896m-1g 12mb reserved pae:32bits系統

zone_highmem:1g-64g高記憶體位址空間 32bits系統 不能被系統直接訪問需要reserved對映後才能訪問

64bits系統記憶體空間分配:

zone_dma:1g

zone_normal:2-64g

大頁面和透明大頁面:

線性記憶體中:頁面

物理記憶體中:頁框

超大頁表:2mb(用的比較多) 1gb是tb級記憶體

**級:systemtap,profile、valgrind

CPU 記憶體 IO 網路調優

內容 12.1 有關cpu的調優 12.2 有關記憶體的調優 12.3 有關i o的調優 12.4 有關網路的調優 12.5 有關核心引數的調優 12.1.1 cpu處理方式 批處理,順序處理請求。切換次數少,吞吐量大 分時處理。如同 獨佔 吞吐量小 時間片,把請求分為乙個乙個的時間片,一片一片的分...

CPU 記憶體 IO 網路調優

批處理,順序處理請求。切換次數少,吞吐量大 分時處理。如同 獨佔 吞吐量小 時間片,把請求分為乙個乙個的時間片,一片一片的分給cpu處理 我們現在使用x86就是這種架構 實時處理 例如 檢視核心一秒鐘中斷cpu次數 root xuegod70 grep hz boot config 3.10.0 6...

效能調優 CPU方面,記憶體方面

innodb儲存引擎一般都應用於oltp的資料庫應用,這種應用的特點如下所示 使用者操作的併發量大。事務處理的時間一般比較短。查詢的語句較為簡單,一般都走索引。複雜的查詢較少。可以看出,oltp的資料庫應用本身對cpu的要求並不高,因為複雜的查詢可能需要執行比較 排序 連線等非常耗cpu的操作,這些...