Centos7 檢視磁碟i/o, 定位佔用i/o讀寫高的程序
阿新 • • 發佈:2022-12-12
Centos7 檢視磁碟i/o, 定位佔用i/o讀寫高的程序
概要:
iostat 主要用於輸出磁碟IO 和 CPU的統計資訊。
iostat屬於sysstat軟體包。可以用yum install sysstat
直接安裝。
1、iostat 用法
用法:iostat [選項] [<時間間隔>] [<次數>]
命令引數:
-c: 顯示CPU使用情況
-d: 顯示磁碟使用情況
-N: 顯示磁碟陣列( LVM) 資訊
-n: 顯示NFS 使用情況
-k: 以 KB 為單位顯示
-m: 以 M 為單位顯示
-t: 報告每秒向終端讀取和寫入的字元數和CPU的資訊
-V: 顯示版本資訊
-x: 顯示詳細資訊
-p:[磁碟] 顯示磁碟和分割槽的情況
2、先用iostat檢視磁碟io 是否讀寫負載很高
用iostat -d -m -x 1 10
, 檢視TPS和吞吐量資訊
[root@app01 ~]# iostat -d -m -x 1 10
Linux 3.10.0-1160.15.2.el7.x86_64 (app01) 2022年08月02日 _x86_64_ (4 CPU)
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm % util
fd0 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 41.50 41.50 0.00 41.50 0.00
sdb 0.00 0.03 0.31 0.34 0.01 0.01 64.67 0.02 27.73 56.85 1.22 0.16 0.01
sda 0.00 0.01 0.02 15.26 0.00 0.08 10.46 0.01 0.49 5.92 0.48 0.25 0. 38
dm-0 0.00 0.00 0.02 15.27 0.00 0.08 10.45 0.01 0.49 5.93 0.48 0.25 0.38
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 47.27 0.00 0.49 0.49 0.00 0.39 0.00
dm-2 0.00 0.00 0.00 0.00 0.00 0.00 46.40 0.00 6.53 6.53 0.00 2.36 0.00
dm-3 0.00 0.00 0.31 0.37 0.01 0.01 61.42 0.02 27.32 56.93 2.27 0.15 0.01
如果%util接近100%,表明I/O請求太多,I/O系統已經滿負荷,磁碟可能存在瓶頸,一般%util大於70%,I/O壓力就比較大,讀取速度有較多的wait,然後再看其他的引數。
rrqm/s:每秒進行merge的讀運算元目。即delta(rmerge)/s
wrqm/s:每秒進行merge的寫運算元目。即delta(wmerge)/s
r/s:每秒完成的讀I/O裝置次數。即delta(rio)/s
w/s:每秒完成的寫I/0裝置次數。即delta(wio)/s
rsec/s:每秒讀扇區數。即delta(rsect)/s
wsec/s:每秒寫扇區數。即delta(wsect)/s
rKB/s:每秒讀K位元組數。是rsec/s的一半,因為每扇區大小為512位元組
wKB/s:每秒寫K位元組數。是wsec/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佇列是非空的
iostat -c 1 2
檢視cpu狀態
間隔1秒顯示一次,總共顯示2次
3、找出使用io高的程序的工具 iotop
yum install iotop -y
[root@app01 ~]# iotop
4、lsof檢視端口占用情況
需要安裝 :yum -y install lsof
lsof -i 列出佔用埠情況
lsof -i:80 檢視80埠情況
from:https://blog.csdn.net/lihongbao80/article/details/126118191