歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS查看CPU、內存、網絡流量和磁盤I/O(詳細)

CentOS查看CPU、內存、網絡流量和磁盤I/O(詳細)

日期:2017/2/27 16:00:19   编辑:Linux教程
安裝 yum install -y sysstat

sar -d 1 1
rrqm/s: 每秒進行 merge 的讀操作數目。即 delta(rmerge)/s
wrqm/s: 每秒進行 merge 的寫操作數目。即 delta(wmerge)/s
r/s: 每秒完成的讀 I/O 設備次數。即 delta(rio)/s
w/s: 每秒完成的寫 I/O 設備次數。即 delta(wio)/s
rsec/s: 每秒讀扇區數。即 delta(rsect)/s
wsec/s: 每秒寫扇區數。即 delta(wsect)/s
rkB/s: 每秒讀K字節數。是 rsect/s 的一半,因為每扇區大小為512字節。(需要計算)
wkB/s: 每秒寫K字節數。是 wsect/s 的一半。(需要計算)
avgrq-sz: 平均每次設備I/O操作的數據大小 (扇區)。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O隊列長度。即 delta(aveq)/s/1000 (因為aveq的單位為毫秒)。
await: 平均每次設備I/O操作的等待時間 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次設備I/O操作的服務時間 (毫秒)。即 delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的時間用於 I/O 操作,或者說一秒中有多少時間 I/O 隊列是非空的。即 delta(use)/s/1000 (因為use的單位為毫秒)

如果 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁盤
可能存在瓶頸。
idle小於70% IO壓力就較大了,一般讀取速度有較多的wait.
同時可以結合vmstat 查看查看b參數(等待資源的進程數)和wa參數(IO等待所占用的CPU時間的百分比,高過30%時IO壓力高)

另外還可以參考
svctm 一般要小於 await (因為同時等待的請求的等待時間被重復計算了),svctm 的大小一般和磁盤性能有關,CPU/內存的負荷也會對其有影響,請求過多也會間接導致 svctm 的增加。await 的大小一般取決於服務時間(svctm) 以及 I/O 隊列的長度和 I/O 請求的發出模式。如果 svctm 比較接近 await,說明 I/O 幾乎沒有等待時間;如果 await 遠大於 svctm,說明 I/O 隊列太長,應用得到的響應時間變慢,如果響應時間超過了用戶可以容許的范圍,這時可以考慮更換更快的磁盤,調整內核 elevator 算法,優化應用,或者升級 CPU。
隊列長度(avgqu-sz)也可作為衡量系統 I/O 負荷的指標,但由於 avgqu-sz 是按照單位時間的平均值,所以不能反映瞬間的 I/O 洪水。

在命令行方式下,如何查看CPU、內存的使用情況,網絡流量和磁盤I/O?

Q: 在命令行方式下,如何查看CPU、內存的使用情況,網絡流量和磁盤I/O?

A: 在命令行方式下,
1. 查看CPU使用情況的命令
$ vmstat 5

每5秒刷新一次,最右側有CPU的占用率的數據

$ top

top 然後按Shift+P,按照進程處理器占用率排序

2. 查看內存使用情況的命令
$ free

top 然後按Shift+M, 按照進程內存占用率排序

$ top

3. 查看網絡流量
可以用工具iptraf工具

$ iptraf -g

“”針對某個Interface的網絡流量可以通過比較兩個時間網絡接口的RX和TX數據來獲得

$ date; ifconfig eth1

$ date; ifconfig eth1

4. 查看磁盤i/o
$ iostat -d -x /dev/sdc3 2

用iostat查看磁盤/dev/sdc3的磁盤i/o情況,每兩秒刷新一次

$ vmstat 2

用vmstat查看io部分的信息

procs:
r–>;在運行隊列中等待的進程數
b–>;在等待io的進程數
w–>;可以進入運行隊列但被替換的進程

memoy
swap–>;現時可用的交換內存(k表示)
free–>;空閒的內存(k表示)

pages
re--》回收的頁面
mf--》非嚴重錯誤的頁面
pi--》進入頁面數(k表示)
po--》出頁面數(k表示)
fr--》空余的頁面數(k表示)
de--》提前讀入的頁面中的未命中數
sr--》通過時鐘算法掃描的頁面

disk 顯示每秒的磁盤操作。 s表示scsi盤,0表示盤號

fault 顯示每秒的中斷數
in--》設備中斷
sy--》系統中斷
cy--》cpu交換

cpu 表示cpu的使用狀態
cs--》用戶進程使用的時間
sy--》系統進程使用的時間
id--》cpu空閒的時間

其中:
如果 r經常大於 4 ,且id經常少於40,表示cpu的負荷很重。
如果pi,po 長期不等於0,表示內存不足。
如果disk 經常不等於0, 且在 b中的隊列 大於3, 表示 io性能不好。
Copyright © Linux教程網 All Rights Reserved