主頁 > 知識庫 > Linux中的iostat命令使用教程

Linux中的iostat命令使用教程

熱門標(biāo)簽:美圖手機(jī) 百度競價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 使用U盤裝系統(tǒng) 阿里云 硅谷的囚徒呼叫中心 智能手機(jī) 檢查注冊表項(xiàng) 網(wǎng)站建設(shè)

前言

話說搞運(yùn)維的人沒有兩把“刷子”,都不好意思上服務(wù)器操作。還好,我還不是搞運(yùn)維的,我一直都自詡是開發(fā)人員,奈何現(xiàn)在的東家運(yùn)維人員“水”的一比,還要我這個(gè)自詡是開發(fā)的人擼起袖子親自上陣,好吧,沒有辦法,重拾以前的命令,再次走起~~~

說到運(yùn)維,那就離不開監(jiān)控磁盤了。而說到磁盤監(jiān)控,那又不得不說道說道iostat命令了。這篇文章就對那個(gè)我曾經(jīng)非常熟悉的iostat命令進(jìn)行詳細(xì)的總結(jié)。

命令詳解

Linux系統(tǒng)中的iostat是I/O statistics(輸入/輸出統(tǒng)計(jì))的縮寫,iostat工具將對系統(tǒng)的磁盤操作活動(dòng)進(jìn)行監(jiān)視。它的特點(diǎn)是匯報(bào)磁盤活動(dòng)統(tǒng)計(jì)情況,同時(shí)也會(huì)匯報(bào)出CPU使用情況。同vmstat一樣,iostat也有一個(gè)弱點(diǎn),就是它不能對某個(gè)進(jìn)程進(jìn)行深入分析,僅對系統(tǒng)的整體情況進(jìn)行分析。

iostat常用命令格式如下:

iostat [參數(shù)] [時(shí)間] [次數(shù)]

命令參數(shù)說明如下:

-c 顯示CPU使用情況
-d 顯示磁盤使用情況
-k 以K為單位顯示
-m 以M為單位顯示
-N 顯示磁盤陣列(LVM) 信息
-n 顯示NFS使用情況
-p 可以報(bào)告出每塊磁盤的每個(gè)分區(qū)的使用情況
-t 顯示終端和CPU的信息
-x 顯示詳細(xì)信息

下面就對我們常用的使用方式進(jìn)行詳細(xì)的總結(jié)。

使用實(shí)例

命令: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)容詳解:

  • %user:CPU處在用戶模式下的時(shí)間百分比
  • %nice:CPU處在帶NICE值的用戶模式下的時(shí)間百分比
  • %system:CPU處在系統(tǒng)模式下的時(shí)間百分比
  • %iowait:CPU等待輸入輸出完成時(shí)間的百分比
  • %steal:管理程序維護(hù)另一個(gè)虛擬處理器時(shí),虛擬CPU的無意識等待時(shí)間百分比
  • %idle:CPU空閑時(shí)間百分比

當(dāng)然了,iostat命令的重點(diǎn)不是用來看CPU的,重點(diǎn)是用來監(jiān)測磁盤性能的。

  • Device:設(shè)備名稱
  • rrqm/s:每秒合并到設(shè)備的讀取請求數(shù)
  • wrqm/s:每秒合并到設(shè)備的寫請求數(shù)
  • r/s:每秒向磁盤發(fā)起的讀操作數(shù)
  • w/s:每秒向磁盤發(fā)起的寫操作數(shù)
  • rkB/s:每秒讀K字節(jié)數(shù)
  • wkB/s:每秒寫K字節(jié)數(shù)
  • avgrq-sz:平均每次設(shè)備I/O操作的數(shù)據(jù)大小
  • avgqu-sz:平均I/O隊(duì)列長度
  • await:平均每次設(shè)備I/O操作的等待時(shí)間 (毫秒),一般地,系統(tǒng)I/O響應(yīng)時(shí)間應(yīng)該低于5ms,如果大于 10ms就比較大了
  • r_await:每個(gè)讀操作平均所需的時(shí)間;不僅包括硬盤設(shè)備讀操作的時(shí)間,還包括了在kernel隊(duì)列中等待的時(shí)間
  • w_await:每個(gè)寫操作平均所需的時(shí)間;不僅包括硬盤設(shè)備寫操作的時(shí)間,還包括了在kernel隊(duì)列中等待的時(shí)間
  • svctm:平均每次設(shè)備I/O操作的服務(wù)時(shí)間 (毫秒)(這個(gè)數(shù)據(jù)不可信?。?/li>
  • %util:一秒中有百分之多少的時(shí)間用于I/O操作,即被IO消耗的CPU百分比,一般地,如果該參數(shù)是100%表示設(shè)備已經(jīng)接近滿負(fù)荷運(yù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)容詳解:

  • tps:每秒I/O數(shù)(即IOPS。磁盤連續(xù)讀和連續(xù)寫之和)
  • kB_read/s:每秒從磁盤讀取數(shù)據(jù)大小,單位KB/s
  • kB_wrtn/s:每秒寫入磁盤的數(shù)據(jù)的大小,單位KB/s
  • kB_read:從磁盤讀出的數(shù)據(jù)總數(shù),單位KB
  • kB_wrtn:寫入磁盤的的數(shù)據(jù)總數(shù),單位KB

性能監(jiān)控指標(biāo)

面說了這么多,也看了那么多的系統(tǒng)輸出,那我們在日常運(yùn)維中到底需要關(guān)注哪些字段呢?下面就來說說這篇文章的重點(diǎn)了,我們到底該關(guān)注哪些輸出內(nèi)容就可以確定這臺(tái)服務(wù)器是否存在IO性能瓶頸。

  • %iowait:如果該值較高,表示磁盤存在I/O瓶頸
  • await:一般地,系統(tǒng)I/O響應(yīng)時(shí)間應(yīng)該低于5ms,如果大于10ms就比較大了
  • avgqu-sz:如果I/O請求壓力持續(xù)超出磁盤處理能力,該值將增加。如果單塊磁盤的隊(duì)列長度持續(xù)超過2,一般認(rèn)為該磁盤存在I/O性能問題。需要注意的是,如果該磁盤為磁盤陣列虛擬的邏輯驅(qū)動(dòng)器,需要再將該值除以組成這個(gè)邏輯驅(qū)動(dòng)器的實(shí)際物理磁盤數(shù)目,以獲得平均單塊硬盤的I/O等待隊(duì)列長度
  • %util:一般地,如果該參數(shù)是100%表示設(shè)備已經(jīng)接近滿負(fù)荷運(yùn)行了

最后,除了關(guān)注指標(biāo)外,我們更需要結(jié)合部署的業(yè)務(wù)進(jìn)行分析。對于磁盤隨機(jī)讀寫頻繁的業(yè)務(wù),比如圖片存取、數(shù)據(jù)庫、郵件服務(wù)器等,此類業(yè)務(wù)嗎,tps才是關(guān)鍵點(diǎn)。對于順序讀寫頻繁的業(yè)務(wù),需要傳輸大塊數(shù)據(jù)的,如視頻點(diǎn)播、文件同步,關(guān)注的是磁盤的吞吐量。

總結(jié)

關(guān)于iostat命令的總結(jié)就到此結(jié)束了。在平時(shí)的運(yùn)維工作中,我們更多的要根據(jù)實(shí)際場景進(jìn)行分析。iostat作為一個(gè)工具,掌握基本的用法這個(gè)是基礎(chǔ),希望通過這篇文章大家可以掌握iostat命令的基本用法,至于后期的升華,就需要大家在工作中多運(yùn)用、多摸索和多總結(jié)了。

好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

標(biāo)簽:湘潭 煙臺(tái) 湖北 黃山 懷化 山南 通遼 賀州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux中的iostat命令使用教程》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266