理解Linux調優參數

1、處理器參數
CPU utilization: 直觀地描述了每個CPU的利用率,在Xseries架構中如果CPU的利用率長時間超過80%,就有可能出現處理器的瓶頸
Runable processes : 描述了正在準備被執行的進程。在一個持續時間裏,這個值不應該超過物理CPU數量的10倍,否則CPU方面就可能存在瓶頸
Blocked: 描述了那些因爲等待IO操作結束而不能被執行的進行,Blocked可能指出用戶正面臨IO瓶頸
User Time: 描述了處理用戶進行的百分比,包括Nice Time如果User Time的值很高,則說明系統正在處理實際的工作
System Time: 描述了CPU花費在處理內核操作(包括IRQ和軟件中斷)上的百分比。如果System Time很高,則說明系統可能存在網絡或者驅動堆棧方面的瓶頸,一個系統通常只花費很少的時間去處理內核的操作。
Idle Time: 描述了CPU空閒的百分比
Nice Time: 描述了CPU花費在處理re-nicing進程上的百分比
Context switch: 系統中線程之間進行交換的數量
Waiting: CPU花費在等待IO操作上的總時間,與Blocked相似,一個系統不應該花費太多的時間在等待IO操作上,否則應該進一步檢測IO子系統是否存在瓶頸
Interrupts: Interrupts值包括硬Interrupts和軟Interrupts,硬Interrupts會對系統性能帶來很多不利的影響,高Interrupts值指出系統可能存在 一個軟件的瓶頸,可能是內核或者驅動程序,注意:Interrupts值中包括CPU時鐘導致的中斷

內存參數
Free memory: 相比其他操作系統,Linux空閒內存存在的值不應該作爲一個性能參考的重要指標,因爲Linux內核會分配大量沒有被使用的內存作爲文件系統的緩存,所以這個值通常比較小
Swap usage: 描述了已經被使用的Swap空間
Buffer and cache: 描述了爲文件系統和塊設備分配的緩存,在Red flag DC server5.0版本中,可以通過修改/proc/sys/vm中的page_cache_tuning來調整空閒內存中作爲緩存的數量
Slabs: 描述了內核使用的內存空間,注意內核的頁面是不能被交換到磁盤上的
Active versus inactive memory: 提供了關於系統內存的active內存信息,inactive內存是被kswapd守護進程交換到磁盤上的空間

網絡參數
Packet received and sent 描述了一個指定網卡接收和發送的數據包的數量
Bytes received and sent : 描述了一個指定網卡接收和發送的數據包的字節數
Collisions per second: 提供了發送在指定網卡上的網絡衝突的數量,持續出現這個值則表示在網絡架構上出現了瓶頸,而不是在服務器端出現了問題,在正常配置的網絡中,衝突是非常少見的,除非用戶的網絡環境都是有HUB組成的
Packets dropped: 描述了被內核丟掉的數據包數量,可能是因爲防火牆或者網絡緩存的缺乏
overruns: 表達了超出網絡接口緩存的次數,這個參數應該和Packets dropped一起來判斷是否存在網絡緩存或者網絡隊列過長方面的瓶頸
Errors: 記錄了標誌位失敗的幀的數量,這可能是有錯誤的網絡配置或者部分網絡損壞導致的,在銅口千兆以太網環境中,部分網絡的損害是影響性能的一個重要因素。

塊設備參數
Io wait: CPU等待IO操作所花費的時間,這個值持續很高通常是IO瓶頸所導致的
Average queue length: IO請求的數量,通常一個磁盤隊列值爲2~3爲最佳情況,更高的值則說明系統可能存在IO瓶頸
Average wait: 響應一個IO操作的平均時間,該值包括時間IO操作的時間和在IO隊列裏等待的時間
Transfers per second: 描述了每秒執行多少次IO操作。Transfers per second的值與Kbytes per second的值結合起來可以用於評估系統的平均傳輸塊大小,當這個傳輸塊大小和磁盤子系統的條帶化大小相符合時,可以獲得最好的性能
Blocks read/write per second : 表達了每秒讀/寫的Blocks數量,在2.6內核中Blocks的大小是1024Bytes,在早些的內核版本中Blocks可以是不同的大小,從512Bytes到4KB
Kilo bytes per second read/write : 以KB爲單位表示讀/寫塊設備的實際數據的數量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章