I/O排查命令

I/O能夠說是問題大戶,線上的問題常常都是它引發的,不少人殊不知道怎麼定位這種問題。今天簡單介紹一下,在此拋磚引玉。ios

此類問題咱們通常分三步定位:按系統級I/O、進程級I/O、業務級I/O定位便可,通常狀況下分析前面兩步就能夠知道大體問題所在。spa

系統級I/O (使用iostat、vmstat命令)

經常使用選項code

-d 顯示設備(磁盤)使blog

I/O能夠說是問題大戶,線上的問題常常都是它引發的,不少人殊不知道怎麼定位這種問題。今天簡單介紹一下,在此拋磚引玉。

此類問題咱們通常分三步定位:按系統級I/O、進程級I/O、業務級I/O定位便可,通常狀況下分析前面兩步就能夠知道大體問題所在。

系統級I/O (使用iostat、vmstat命令)

經常使用選項

-d 顯示設備(磁盤)使用狀態 。

-x 顯示和I/O相關的擴展數據。

-k 使用k爲單位。

線上I/O問題排查思路

%util 表明磁盤繁忙程度,0%~100%之間。

argrq-sz 提交給驅動層的IO請求大小,用於度量隨機程度。

svctm 單次IO請求耗時,尋道+旋轉延遲時間,通常不超過8ms。

 

vmstat命令能夠查看系統緯度的CPU負載,顯示以下:



us:表示用戶進程消耗的CPU時間百分比。

sy:內核模式消耗的CPU時間百分比。

wa:IO等待消耗的CPU時間百分比。

進程級I/O (使用iotop、strace)

經常使用選項

-d SEC:間隔SEC秒顯示一次。

-p PID:監控的進程pid。

iotop

線上I/O問題排查思路



 

 

用狀態 。進程

-x 顯示和I/O相關的擴展數據。io

-k 使用k爲單位。class

線上I/O問題排查思路

%util 表明磁盤繁忙程度,0%~100%之間。監控

argrq-sz 提交給驅動層的IO請求大小,用於度量隨機程度。擴展

svctm 單次IO請求耗時,尋道+旋轉延遲時間,通常不超過8ms。請求

 

vmstat命令能夠查看系統緯度的CPU負載,顯示以下:

us:表示用戶進程消耗的CPU時間百分比。

sy:內核模式消耗的CPU時間百分比。

wa:IO等待消耗的CPU時間百分比。

進程級I/O (使用iotop、strace)

經常使用選項

-d SEC:間隔SEC秒顯示一次。

-p PID:監控的進程pid。

iotop

線上I/O問題排查思路

相關文章
相關標籤/搜索