原文:https://blog.csdn.net/ydyang1126/article/details/72820349
linux top命令中各cpu占用率含義
0.3% us 用戶空間占用CPU百分比 1.0% sy 內核空間占用CPU百分比 0.0% ni 用戶進程空間內改變過優先級的進程占用CPU百分比 98.7% id 空閑CPU百分比 0.0% wa 等待輸入輸出的CPU時間百分比 0.0% hi 硬中斷 0.0% si 軟中斷
- 1
- 2
- 3
- 4
- 5
- 6
- 7
======================================================
Linux System and Performance Monitoring(CPU篇)
博客分類: 性能測試
Date: 2009.07.21
Author: Darren Hoch
======================================================
前言: 網上其實有很多關於這方面的文章,那為什么還會有此篇呢,有這么幾個原因,是我翻譯的動力,第一,概念和內容雖然老套,但都講得很透徹,而且還很全面.第二,理論結合實際,其中案例分析都不錯.第三,不花哨,采用的工具及命令都是最基本的,有助於實際操作.但本人才疏學淺,譯文大多數都是立足於自己對原文的理解,大家也可以自己去OSCAN上找原文,如果有什么較大出入,還望留言回復,甚是感激!
1.0 性能監控介紹
性能優化就是找到系統處理中的瓶頸以及去除這些的過程,多數管理員相信看一些相關的”cook book”就可以實現性能優化,通常通過對內核的一些配置是可以簡單的解決問題,但並不適合每個環境,性能優化其實是對OS 各子系統達到一種平衡的定義,這些子系統包括了:
CPU
Memory
IO
Network
- 1
- 2
- 3
- 4
這些子系統之間關系是相互彼此依賴的,任何一個高負載都會導致其他子系統出現問題.比如:
- 大量的頁調入請求導致內存隊列的擁塞
- 網卡的大吞吐量可能導致更多的 CPU開銷
- 大量的CPU開銷又會嘗試更多的內存使用請求
- 大量來自內存的磁盤寫請求可能導致更多的 CPU 以及 IO問題
所以要對一個系統進行優化,查找瓶頸來自哪個方面是關鍵,雖然看似是某一個子系統出現問題,其實有可能是別的子系統導致的.
1.1 確定應用類型
基於需要理解該從什么地方來入手優化瓶頸,首先重要的一點,就是理解並分析當前系統的特點,多數系統所跑的應用類型,主要為2種:
IO Bound(譯注:IO 范疇): 在這個范疇中的應用,一般都是高負荷的內存使用以及存儲系統,這實際上表示IO 范疇的應用,就是一個大量數據處理的過程.IO 范疇的應用不對CPU以及網絡發起更多請求(除非類似NAS這樣的網絡存儲硬件).IO 范疇的應用通常使用CPU 資源都是為了產生IO 請求以及進入到內核調度的sleep 狀態.通常數據庫軟件(譯注:mysql,oracle等)被認為是IO 范疇的應用類型.
CPU Bound(譯注:CPU 范疇): 在這個范疇中的應用,一般都是高負荷的CPU 占用. CPU 范疇的應用,就是一個批量處理CPU 請求以及數學計算的過程.通常web server,mail server,以及其他類型服務被認為是CPU 范疇的應用類型.
1.2 確定基准線統計
系統利用率情況,一般隨管理員經驗以及系統本身用途來決定.唯一要清楚的就是,系統優化希望達成什么效果,以及哪些方面是需要優化,還有參考值是什么?因此就建立一個基准線,這個統計數據必須是系統可用性能狀態值,用來比較不可用性能狀態值.
在以下例子中,1個系統性能的基准線快照,用來比較當高負荷時的系統性能快照.
# vmstat 1 procs memory swap io system cpu r b swpd free buff cache si so bi bo in cs us sy wa id 1 0 138592 17932 126272 214244 0 0 1 18 109 19 2 1 1 96 0 0 138592 17932 126272 214244 0 0 0 0 105 46 0 1 0 99 0 0 138592 17932 126272 214244 0 0 0 0 198 62 40 14 0 45 0 0 138592 17932 126272 214244 0 0 0 0 117 49 0 0 0 100 0 0 138592 17924 126272 214244 0 0 0 176 220 938 3 4 13 80 0 0 138592 17924 126272 214244 0 0 0 0 358 1522 8 17 0 75 1 0 138592 17924 126272 214244 0 0 0 0 368 1447 4 24 0 72 0 0 138592 17924 126272 214244 0 0 0 0 352 1277 9 12 0 79 # vmstat 1 procs memory swap io system cpu r b swpd free buff cache si so bi bo in cs us sy wa id 2 0 145940 17752 118600 215592 0 1 1 18 109 19 2 1 1 96 2 0 145940 15856 118604 215652 0 0 0 468 789 108 86 14 0 0 3 0 146208 13884 118600 214640 0 360 0 360 498 71 91 9 0 0 2 0 146388 13764 118600 213788 0 340 0 340 672 41 87 13 0 0 2 0 147092 13788 118600 212452 0 740 0 1324 620 61 92 8 0 0 2 0 147360 13848 118600 211580 0 720 0 720 690 41 96 4 0 0 2 0 147912 13744 118192 210592 0 720 0 720 605 44 95 5 0 0 2 