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

安裝

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: 在命令行方式下,

命令 說明
vmstat 5 查看CPU使用情況的命令,每5秒刷新一次,最右側有CPU的占用率的數據
top top 然后按Shift+P,按照進程處理器占用率排序
free 查看內存使用情況的命令,top 然后按Shift+M, 按照進程內存占用率排序
iptraf -g 查看網絡流量,可以用工具iptraf工具,
date; ifconfig eth1 針對某個Interface的網絡流量可以通過比較兩個時間網絡接口的RX和TX數據來獲得
date; ifconfig eth1 date; ifconfig eth1 針對某個Interface的網絡流量可以通過比較兩個時間網絡接口的RX和TX數據來獲得
iostat -d -x /dev/sdc3 2 4. 查看磁盤i/o
vmstat 2 用iostat查看磁盤/dev/sdc3的磁盤i/o情況,每兩秒刷新一次

用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性能不好。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. 基礎知識 1.1、 基本概念、 功能 馮諾伊曼體系結構1、計算機處理的數據和指令一律用二進制數表示2、順序執...
    yunpiao閱讀 5,389評論 1 22
  • 一、MySQL架構與歷史 A.并發控制 1.共享鎖(shared lock,讀鎖):共享的,相互不阻塞的 2.排他...
    ZyBlog閱讀 19,872評論 3 177
  • 這篇文章主要介紹一些常用的linux服務器性能監控命令,包括命令的常用參數、指標的含義以及一些交互操作。 幾個問題...
    dancingking閱讀 8,389評論 6 22
  • linux系統性能監視命令,經過百度谷歌,加上各渠道獲得,查找到相關命令匯集,望能學有所收獲 ...
    _王子_閱讀 1,379評論 3 13
  • 》〉》〉》〉》〉》算法的度量:假設CPU在短短幾年間,速度提高了100倍,這其實已經很夸張了。而我們的某個算法本可...
    aofeilin閱讀 555評論 1 0