以下介紹6個(gè)監(jiān)視Linux磁盤IO性能的命令(工具),它們分別是iotop、iostat、vmstat、atop、dstat、ioping,以下將附上簡(jiǎn)單的使用方法。
前言
磁盤IO問(wèn)題(input/output)是Linux系統(tǒng)性能不佳的最常見(jiàn)原因之一。當(dāng)應(yīng)用程序試圖在存儲(chǔ)設(shè)備(例如硬盤驅(qū)動(dòng)器、SAN和NAS)上快速讀取或?qū)懭脒^(guò)多數(shù)據(jù)時(shí),就會(huì)發(fā)生這種情況,這迫使應(yīng)用程序和用戶等待。
top命令可用于查看CPU是否正在等待磁盤操作完成?!皐a”度量標(biāo)準(zhǔn)顯示IO等待,CPU等待IO完成所花費(fèi)的時(shí)間(以百分比表示)。參考在Linux系統(tǒng)中使用top命令和ps命令查找高CPU消耗進(jìn)程。
在本文中,我們將說(shuō)明如何使用各種Linux命令來(lái)確定磁盤IO性能問(wèn)題。
在對(duì)Linux上的實(shí)時(shí)磁盤活動(dòng)進(jìn)行故障排除或監(jiān)視時(shí),六個(gè)命令最有用,它們分別是:iotop、iostat、vmstat、atop、dstat、ioping。這些都是常用于實(shí)時(shí)測(cè)量磁盤I/O性能的命令,也較為容易掌握。
1)、iotop
iotop是用于顯示實(shí)時(shí)磁盤I/O性能的,類似于top的實(shí)用程序,它實(shí)際上顯示執(zhí)行I/O的進(jìn)程的列表。運(yùn)行帶有'--only或-o'選項(xiàng)的iotop命令以查看磁盤I/O活動(dòng)。
# iotop --only
注:
o:僅顯示實(shí)際正在執(zhí)行I/O的進(jìn)程或線程。
監(jiān)視Linux磁盤IO性能命令:iotop,iostat,vmstat,atop,dstat,ioping
2)、iostat
iostat命令用于監(jiān)視設(shè)備和分區(qū)的系統(tǒng)輸入/輸出統(tǒng)計(jì)信息。它通過(guò)觀察設(shè)備處于活動(dòng)狀態(tài)的時(shí)間(相對(duì)于其平均傳輸速率)來(lái)監(jiān)視系統(tǒng)I/O。
它帶有與磁盤I/O相關(guān)的各種信息,可以通過(guò)運(yùn)行以下命令來(lái)查看:
# iotop -dxm
注:
x:顯示更多詳細(xì)信息統(tǒng)計(jì)信息。
d:僅顯示設(shè)備報(bào)告。
m:顯示統(tǒng)計(jì)信息(以MB為單位)。
監(jiān)視Linux磁盤IO性能命令:iotop,iostat,vmstat,atop,dstat,ioping
3)、vmstat
vmstat命令代表虛擬內(nèi)存統(tǒng)計(jì)信息。這是一個(gè)性能監(jiān)視命令,除了提供內(nèi)存外,它還提供有關(guān)塊IO和CPU活動(dòng)的信息。
報(bào)告的第一行將包含自上次重新引導(dǎo)以來(lái)的平均I/O值,隨后的行將顯示實(shí)時(shí)統(tǒng)計(jì)信息:
# vmstat -d 1 5
注:
d:僅顯示磁盤統(tǒng)計(jì)信息。
時(shí)間間隔(1):每秒將重新測(cè)量統(tǒng)計(jì)信息并報(bào)告一次。
計(jì)數(shù)值(5):統(tǒng)計(jì)信息將在退出前報(bào)告五次。
監(jiān)視Linux磁盤IO性能命令:iotop,iostat,vmstat,atop,dstat,ioping
4)、atop
atop命令是另一個(gè)性能監(jiān)視工具,它能夠報(bào)告Linux系統(tǒng)上所有進(jìn)程的活動(dòng)(即使進(jìn)程在該時(shí)間間隔內(nèi)已完成)。
它每10秒報(bào)告一次每個(gè)進(jìn)程的統(tǒng)計(jì)信息,從而迅速掌握系統(tǒng)中發(fā)生的變化:
# atop | grep DSK
監(jiān)視Linux磁盤IO性能命令:iotop,iostat,vmstat,atop,dstat,ioping
5)、dstat
dstat命令是另一個(gè)方便的工具,用于在性能調(diào)整測(cè)試、基準(zhǔn)測(cè)試或故障排除期間監(jiān)視系統(tǒng)。它克服了其他一些工具的局限性,并增加了一些額外的功能,更多的計(jì)數(shù)器和靈活性。
默認(rèn)情況下,它顯示報(bào)告間隔為1秒:
# dstat --disk --io
監(jiān)視Linux磁盤IO性能命令:iotop,iostat,vmstat,atop,dstat,ioping
對(duì)于特定的磁盤,運(yùn)行:
# dstat --disk --io -D sda
6)、ioping
ioping用于實(shí)時(shí)監(jiān)視I/O速度和延遲,而ping命令顯示網(wǎng)絡(luò)延遲。這個(gè)簡(jiǎn)單的實(shí)用程序使您能夠了解磁盤響應(yīng)請(qǐng)求需要多長(zhǎng)時(shí)間:
# ioping /dev/nvme0n1 -c4
審核編輯 黃宇
-
IO
+關(guān)注
關(guān)注
0文章
434瀏覽量
39051 -
Linux
+關(guān)注
關(guān)注
87文章
11213瀏覽量
208737 -
監(jiān)視
+關(guān)注
關(guān)注
0文章
73瀏覽量
18735
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論