procs
r列表示執行和等待cpu時間片的程序數,這個值如果長期大於系統cpu的個數,說明cpu不足,需要增加cpu。
b列表示在等待資源的程序數,比如正在等待i/o、或者記憶體交換等。 l
memory
swpd
列表示切換到記憶體交換區的記憶體數量(以
k為單位)。如果
swpd
的值不為
0,或者比較大,只要si、
so的值長期為
0,這種情況下一般不用擔心,不會影響系統效能。
free
列表示當前空閒的物理記憶體數量(以
k為單位)
buff
列表示buffers cache
的記憶體數量,一般對塊裝置的讀寫才需要緩衝。
cache
列表示page cached
的記憶體數量,一般作為檔案系統
cached
,頻繁訪問的檔案都會被
cached
,如果cache
值較大,說明
cached
的檔案數較多,如果此時io中
bi比較小,說明檔案系統效率比較好。 l
swap si
列表示由磁碟調入記憶體,也就是記憶體進入記憶體交換區的數量。 so
列表示由記憶體調入磁碟,也就是記憶體交換區進入記憶體的數量。
記憶體夠用的時候,這2
個值都是
0,如果這
2個值長期大於
0時,系統效能會受到影響,磁碟io和
cpu資源都會被消耗。
有些朋友看到空閒記憶體(free
)很少的或接近於
0時,就認為記憶體不夠用了,實際上不能光看這一點,還要結合
si,so
,如果free
很少,但是
si,so
也很少(大多時候是
0),那麼不用擔心,系統效能這時不會受到影響的。
如果(memory)swpd的值不為0,或者比較大,比如超過了100m,只要si、so的值長期為0,系統效能還是正常。lio
bi:從塊裝置讀入的資料總量(讀磁碟)(kb/s)
bo:寫入到塊裝置的資料總量(寫磁碟)(kb/s)
隨機磁碟讀寫的時候,這2個值越大(如超出1m),能看到cpu在io等待的值也會越大。
lsystem in
每秒的中斷數,包括時鐘中斷。 cs
每秒的環境(上下文)切換次數。
上面2個值越大,會看到由核心消耗的cpu時間會越大 l
cpu
us列顯示了使用者程序消耗的cpu 時間百分比。us的值比較高時,說明使用者程序消耗的cpu時間多,但是如果長期大於50%,就需要考慮優化程式或演算法。
sy列顯示了核心程序消耗的cpu時間百分比。sy的值較高時,說明核心消耗的cpu資源很多。
根據經驗,us+sy的參考值為80%,如果us+sy大於 80%說明可能存在cpu資源不足。 id
cpu處於空閒狀態時間百分比。
waio等待消耗的cpu時間百分比
。wa的值高時,說明io等待比較嚴重,這可能由於磁碟大量作隨機訪問造成,也有可能磁碟出現瓶頸(塊操作)。
情景分析:
vmstat的輸出哪些資訊值得關注?
--proc r:執行的程序比較多,系統很繁忙
--io bo:磁碟寫的資料量稍大,如果大檔案的寫,10以內基本不用擔心,如果是小檔案2m以前基本正常,
--cpu us:持續大於50,服務高峰期可以接受
--cpu wa:稍微有些同
--cpu id:持續小於50,服務高峰期可以接受
vmstat 命令詳解
vmstat 是用來實時檢視記憶體使用情況,反映的情況比用top直觀一些.如果直接使用,只能得到當前的情況,最好用個時間間隔來採集 vmstat t 其中t用具體的時間標示,單位是 秒 例如 vmstat 5 每隔5秒採集一次.這樣在重新整理的時候就能比較系統的看到那個列不正常的 procs r 在...
vmstat 命令詳解
vmstat 是用來實時檢視記憶體使用情況,反映的情況比用top直觀一些.如果直接使用,只能得到當前的情況,最好用個時間間隔來採集 vmstat t 其中t用具體的時間標示,單位是 秒 例如 vmstat 5 每隔5秒採集一次.這樣在重新整理的時候就能比較系統的看到那個列不正常的 procs r 在...
vmstat 命令詳解
linux vmstat命令實戰詳解 vmstat命令是最常見的linux unix監控工具,可以展現給定時間間隔的伺服器的狀態值,包括伺服器的cpu使用率,記憶體使用,虛擬記憶體交換情況,io讀寫情況。這個命令是我檢視linux unix最喜愛的命令,乙個是linux unix都支援,二是相比to...