日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux查看磁盘io使用情况

發(fā)布時(shí)間:2024/3/12 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux查看磁盘io使用情况 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

六種方法

? top命令、vmstat命令、iostat命令、iotop命令、pt-ioprofile命令、pidstat命令

一、 top命令

top - 11:41:22 up 51 min, 2 users, load average: 0.01, 0.04, 0.01
Tasks: 130 total, 1 running, 129 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2%us, 0.1%sy, 0.0%ni, 99.2%id, 0.4%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4151760k total, 2284628k used, 1867132k free, 47892k buffers
Swap: 4192956k total, 0k used, 4192956k free, 2145020k cached
分析:查看0.4%wa這里,IO等待所占用的CPU時(shí)間的百分比,高過(guò)30%時(shí)IO壓力高

具體的解釋如下:
  Tasks: 130 total 進(jìn)程總數(shù)
  1 running 正在運(yùn)行的進(jìn)程數(shù)
  129 sleeping 睡眠的進(jìn)程數(shù)
  0 stopped 停止的進(jìn)程數(shù)
  0 zombie 僵尸進(jìn)程數(shù)
  Cpu(s):
  0.2% us 用戶空間占用CPU百分比
  0.1% sy 內(nèi)核空間占用CPU百分比
  0.0% ni 用戶進(jìn)程空間內(nèi)改變過(guò)優(yōu)先級(jí)的進(jìn)程占用CPU百分比
  99.2% id 空閑CPU百分比
  0.4% wa 等待輸入輸出的CPU時(shí)間百分比
  0.0% hi
  0.0% si
  0.4% wa 的百分比可以大致的體現(xiàn)出當(dāng)前的磁盤io請(qǐng)求是否頻繁。如果 wa的數(shù)量比較大,說(shuō)明等待輸入輸出的的io比較多

二、vmstat命令

命令:vmstat 2 5(每?jī)擅雸?zhí)行一次,執(zhí)行5次)

vmstat參數(shù)解釋:
  Procs
  ?????r: 等待運(yùn)行的進(jìn)程數(shù)
? ? ? ? ? ? b: 處在非中斷睡眠狀態(tài)的進(jìn)程數(shù)
  Memory
?? ?  swpd: 虛擬內(nèi)存使用情況,單位:KB
?? ?  free: 空閑的內(nèi)存,單位KB
?? ?  buff: 被用來(lái)做為緩存的內(nèi)存數(shù),單位:KB
  Swap
?? ?  si: 從磁盤交換到內(nèi)存的交換頁(yè)數(shù)量,單位:KB/秒
?? ?  so: 從內(nèi)存交換到磁盤的交換頁(yè)數(shù)量,單位:KB/秒
  IO
?? ?  bi: 發(fā)送到塊設(shè)備的塊數(shù),單位:塊/秒
?? ?  bo: 從塊設(shè)備接收到的塊數(shù),單位:塊/秒
  System
?? ?  in: 每秒的中斷數(shù),包括時(shí)鐘中斷
?? ?  cs: 每秒的環(huán)境(上下文)切換次數(shù)
  CPU(按 CPU 的總使用百分比來(lái)顯示)
?? ?  us: CPU 使用時(shí)間
?? ?  sy: CPU 系統(tǒng)使用時(shí)間
?? ?  id: 閑置時(shí)間

三、iostat 使用

安裝命令: yum install sysstat?

使用iostat -d -k 2 查看IO情況:

-k:已kb為單位顯示讀寫信息

-m:已mb為單位顯示讀寫信息

device:磁盤名稱
tps:每秒鐘發(fā)送到的I/O請(qǐng)求數(shù).
Blk_read/s:每秒讀取的block數(shù).
Blk_wrtn/s:每秒寫入的block數(shù).
Blk_read:讀入的block總數(shù).
Blk_wrtn:寫入的block總數(shù).

使用iostat -x 5 查看IO情況:

-x:更詳細(xì)的io設(shè)備統(tǒng)計(jì)信息

選項(xiàng)說(shuō)明
rrqm/s每秒對(duì)該設(shè)備的讀請(qǐng)求被合并次數(shù),文件系統(tǒng)會(huì)對(duì)讀取同塊(block)的請(qǐng)求進(jìn)行合并
wrqm/s每秒對(duì)該設(shè)備的寫請(qǐng)求被合并次數(shù)
r/s每秒完成的讀次數(shù)
w/s每秒完成的寫次數(shù)
rkB/s每秒讀數(shù)據(jù)量(kB為單位)
wkB/s每秒寫數(shù)據(jù)量(kB為單位)
avgrq-sz平均每次IO操作的數(shù)據(jù)量(扇區(qū)數(shù)為單位)
avgqu-sz平均等待處理的IO請(qǐng)求隊(duì)列長(zhǎng)度
await平均每次IO請(qǐng)求等待時(shí)間(包括等待時(shí)間和處理時(shí)間,毫秒為單位)
svctm平均每次IO請(qǐng)求的處理時(shí)間(毫秒為單位)
%util采用周期內(nèi)用于IO操作的時(shí)間比率,即IO隊(duì)列非空的時(shí)間比率

%util: 一秒中有百分之多少的時(shí)間用于 I/O 操作,或者說(shuō)一秒中有多少時(shí)間 I/O 隊(duì)列是非空的。即 delta(use)/s/1000 (因?yàn)閡se的單位為毫秒)

如果 %util 接近 100%,說(shuō)明產(chǎn)生的I/O請(qǐng)求太多,I/O系統(tǒng)已經(jīng)滿負(fù)荷,該磁盤可能存在瓶頸。

四、iotop命令

安裝命令:yum install iotop

查看哪個(gè)線程耗IO比較高、按 o 只顯示有磁盤 IO 活動(dòng)的進(jìn)程。

各個(gè)參數(shù)說(shuō)明:-o, --only只顯示正在產(chǎn)生I/O的進(jìn)程或線程。除了傳參,可以在運(yùn)行過(guò)程中按o生效。-b, --batch非交互模式,一般用來(lái)記錄日志。-n NUM, --iter=NUM設(shè)置監(jiān)測(cè)的次數(shù),默認(rèn)無(wú)限。在非交互模式下很有用。-d SEC, --delay=SEC設(shè)置每次監(jiān)測(cè)的間隔,默認(rèn)1秒,接受非整形數(shù)據(jù)例如1.1。-p PID, --pid=PID指定監(jiān)測(cè)的進(jìn)程/線程。-u USER, --user=USER指定監(jiān)測(cè)某個(gè)用戶產(chǎn)生的I/O。-P, --processes僅顯示進(jìn)程,默認(rèn)iotop顯示所有線程。-a, --accumulated顯示累積的I/O,而不是帶寬。-k, --kilobytes使用kB單位,而不是對(duì)人友好的單位。在非交互模式下,腳本編程有用。-t, --time 加上時(shí)間戳,非交互非模式。-q, --quiet 禁止頭幾行,非交互模式。有三種指定方式。-q 只在第一次監(jiān)測(cè)時(shí)顯示列名-qq 永遠(yuǎn)不顯示列名。-qqq 永遠(yuǎn)不顯示I/O匯總。 交互按鍵:和top命令類似,iotop也支持以下幾個(gè)交互按鍵。left和right方向鍵:改變排序。  r:反向排序。o:切換至選項(xiàng)--only。p:切換至--processes選項(xiàng)。a:切換至--accumulated選項(xiàng)。q:退出。i:改變線程的優(yōu)先級(jí)。

五、pt-ioprofile命令

安裝步驟:

1、安裝依賴包:yum install -y perl perl-IO-Socket-SSL perl-DBD-MySQL perl-Time-HiRes perl-Digest-MD5 perl-ExtUtils-MakeMaker
2、下載:wget https://www.percona.com/downloads/percona-toolkit/3.0.13/binary/redhat/7/x86_64/percona-toolkit-3.0.13-1.el7.x86_64.rpm

3、安裝rpm包:rpm -ivh percona-toolkit-3.0.13-1.el7.x86_64.rpm

使用方法:

pt-ioprofile --profile-pid=1236 --cell=sizes

pt-ioprofile的原理是對(duì)某個(gè)pid附加一個(gè)strace進(jìn)程進(jìn)行IO分析。

對(duì)于定位問(wèn)題更有用的是通過(guò)IO的吞吐量來(lái)進(jìn)行定位。使用參數(shù) --cell=sizes,該參數(shù)將結(jié)果已 B/s 的方式展示出來(lái)

從上圖可以看出IO負(fù)載的主要來(lái)源是jetty。

并且壓力主要集中在讀取上。

六、sar命令

sar -d

  • DEV ?磁盤設(shè)備的名稱,如果不加-p,會(huì)顯示dev253-0類似的設(shè)備名稱,因此加上-p顯示的名稱更直接
  • tps ?每秒I/O的傳輸總數(shù)
  • rd_sec/s ?每秒讀取的扇區(qū)的總數(shù)
  • wr_sec/s ?每秒寫入的扇區(qū)的總數(shù)
  • avgrq-sz ?平均每次次磁盤I/O操作的數(shù)據(jù)大小(扇區(qū))
  • avgqu-sz ?磁盤請(qǐng)求隊(duì)列的平均長(zhǎng)度
  • await ?從請(qǐng)求磁盤操作到系統(tǒng)完成處理,每次請(qǐng)求的平均消耗時(shí)間,包括請(qǐng)求隊(duì)列等待時(shí)間,單位是毫秒(1秒等于1000毫秒),等于尋道時(shí)間+隊(duì)列時(shí)間+服務(wù)時(shí)間
  • svctm ?I/O的服務(wù)處理時(shí)間,即不包括請(qǐng)求隊(duì)列中的時(shí)間
  • %util ?I/O請(qǐng)求占用的CPU百分比,值越高,說(shuō)明I/O越慢

除了查看磁盤外還能查看其他的資源信息:

  • 查看CPU使用情況 ?sar -u
  • 將統(tǒng)計(jì)結(jié)果保存到文件 sar -o ?& ?sar -f
  • 查看平均負(fù)載 ?sar -q
  • 查看內(nèi)存使用情況 ?sar -r
  • 查看系統(tǒng)swap分區(qū)統(tǒng)計(jì)情況 ?sar -W
  • 查看IO和傳遞速率 ?sar -b
  • ?統(tǒng)計(jì)網(wǎng)絡(luò)信息 sar -n?
  • ?網(wǎng)絡(luò)接口信息 sar -n DEV
  • ?網(wǎng)絡(luò)設(shè)備通信失敗信息 sar -n EDVE
  • 統(tǒng)計(jì)socket連接信息 ?sar -n SOCK
  • ?TCP連接的統(tǒng)計(jì) ?sar -n TCP

七、dstat命令

參考:CentOS下性能監(jiān)測(cè)工具 dstat - 走看看

八、sysstat命令

九、pidstat命令

pidstat -d 1 (每1秒打印一次使用磁盤io的進(jìn)程及io速度)

?ctrl+c后顯示統(tǒng)計(jì)

總結(jié)

以上是生活随笔為你收集整理的linux查看磁盘io使用情况的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。