Linux系統(tǒng)中的iostat是I/O statistics(輸入/輸出統(tǒng)計)的縮寫,iostat工具將對系統(tǒng)的磁盤操作活動進行監(jiān)視。它的特點是匯報磁盤活動統(tǒng)計情況,同時也會匯報出CPU使用情況。同vmstat一樣,iostat也有一個弱點,就是它不能對某個進程進行深入分析,僅對系統(tǒng)的整體情況進行分析。
iostat常用命令格式如下:
iostat [參數(shù)] [時間] [次數(shù)]
命令參數(shù)說明如下:
-c 顯示CPU使用情況
-d 顯示磁盤使用情況
-k 以K為單位顯示
-m 以M為單位顯示
-N 顯示磁盤陣列(LVM) 信息
-n 顯示NFS使用情況
-p 可以報告出每塊磁盤的每個分區(qū)的使用情況
-t 顯示終端和CPU的信息
-x 顯示詳細信息
下面就對我們常用的使用方式進行詳細的總結(jié)。
使用實例
命令:iostat -x
說明:每隔2秒刷新顯示,且顯示3次
輸出:
[user1@Test_Server ~]$ iostat -x Linux 3.10.0-693.2.2.el7.x86_64 (jellythink) 01/05/2019 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 1.83 0.00 0.31 0.09 0.00 97.77 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util vda 0.03 0.78 0.24 1.38 12.64 20.67 41.01 0.02 10.98 55.50 3.17 0.71 0.12
輸出內(nèi)容詳解:
當(dāng)然了,iostat命令的重點不是用來看CPU的,重點是用來監(jiān)測磁盤性能的。
命令:iostat -d 2 3
輸出:
[jelly@jellythink ~]$ iostat -d 2 3 Linux 3.10.0-693.2.2.el7.x86_64 (jellythink) 01/05/2019 _x86_64_ (1 CPU) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 1.62 12.64 20.67 337375593 551756524 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 1.00 0.00 8.00 0 16 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 0.00 0.00 0.00 0 0
輸出內(nèi)容詳解:
性能監(jiān)控指標(biāo)
面說了這么多,也看了那么多的系統(tǒng)輸出,那我們在日常運維中到底需要關(guān)注哪些字段呢?下面就來說說這篇文章的重點了,我們到底該關(guān)注哪些輸出內(nèi)容就可以確定這臺服務(wù)器是否存在IO性能瓶頸。
最后,除了關(guān)注指標(biāo)外,我們更需要結(jié)合部署的業(yè)務(wù)進行分析。對于磁盤隨機讀寫頻繁的業(yè)務(wù),比如圖片存取、數(shù)據(jù)庫、郵件服務(wù)器等,此類業(yè)務(wù)嗎,tps才是關(guān)鍵點。對于順序讀寫頻繁的業(yè)務(wù),需要傳輸大塊數(shù)據(jù)的,如視頻點播、文件同步,關(guān)注的是磁盤的吞吐量。
總結(jié)
關(guān)于iostat命令的總結(jié)就到此結(jié)束了。在平時的運維工作中,我們更多的要根據(jù)實際場景進行分析。iostat作為一個工具,掌握基本的用法這個是基礎(chǔ),希望通過這篇文章大家可以掌握iostat命令的基本用法,至于后期的升華,就需要大家在工作中多運用、多摸索和多總結(jié)了。