亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Linux命令iostat

 更新時間:2017年07月05日 15:32:49   作者:學著總結,學會總結  
iostat是查看Linux系統(tǒng)io是否存在瓶頸頂好用的一個命令,但是由此而系統(tǒng)默認沒有安裝的,以centos系統(tǒng)為例,看看如何安裝iostat命令

Linux系統(tǒng)出現(xiàn)了性能問題,一般我們可以通過top、iostat、free、vmstat等命令來查看初步定位問題。在一個以前看到系統(tǒng)監(jiān)控工具,總在想那些監(jiān)控工具的代理,如何收集系統(tǒng)性能信息,io性能,cpu使用,帶寬使用等信息,偶然發(fā)現(xiàn),不同系統(tǒng)均提供有性能分析工具的,代理可通過這些命令獲取系統(tǒng)性能信息,個人猜測,不知道具體是不是這樣的。其中iostat可以給我們提供豐富的IO狀態(tài)數(shù)據(jù),下邊就來看一下iostat如何使用,命令能夠輸出那些信息。

簡述

Linux系統(tǒng)中通過iostat我們能查看到系統(tǒng)IO狀態(tài)信息,從而確定IO性能是否存在瓶頸。

命令安裝

iostat是查看Linux系統(tǒng)io是否存在瓶頸頂好用的一個命令,但是由此而系統(tǒng)默認沒有安裝的,以centos系統(tǒng)為例,看看如何安裝iostat命令。

[root@localhost ~]# iostat
-bash: iostat: command not found
[root@localhost ~]# yum install -y sysstat

命令使用

[root@localhost ~]# iostat --help
Usage: iostat [ options ] [ <interval> [ <count> ] ]
Options are:
[ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]
[ -j { ID | LABEL | PATH | UUID | ... } [ <device> [...] | ALL ] ]
[ <device> [...] | ALL ] [ -p [ <device> [,...] | ALL ] ]

iostat 主要有三個操作箱,options 操作項,interval指定統(tǒng)計時間間隔,count總共輸出次數(shù)

-c 參數(shù),可以用來插卡部分cpu狀態(tài)信息

[root@localhost ~]# iostat -c 
Linux 2.6.32-573.el6.x86_64 (localhost)     06/30/2017   _x86_64_    (4 CPU)
avg-cpu: %user  %nice %system %iowait %steal  %idle
      0.02  0.00  0.00  0.00  0.00  99.98

-k 參數(shù),某些使用block為單位的列強制使用Kilobytes為單位

[root@localhost ~]# iostat -k 1 10
Linux 2.6.32-573.el6.x86_64 (localhost)     06/30/2017   _x86_64_    (4 CPU)
avg-cpu: %user  %nice %system %iowait %steal  %idle
      0.02  0.00  0.00  0.00  0.00  99.98
Device:      tps  kB_read/s  kB_wrtn/s  kB_read  kB_wrtn
sda        0.14     0.04     1.65   969915  41732790
dm-0       0.42     0.04     1.65   936269  41632492
dm-1       0.00     0.00     0.00   19920   62056
dm-2       0.00     0.00     0.00    1001   38212
dm-3       0.00     0.01     0.00   127405    7160
avg-cpu: %user  %nice %system %iowait %steal  %idle
      0.00  0.00  0.00  0.00  0.00 100.00
Device:      tps  kB_read/s  kB_wrtn/s  kB_read  kB_wrtn
sda        4.00     0.00    48.00     0     48
dm-0       12.00     0.00    48.00     0     48
dm-1       0.00     0.00     0.00     0     0
dm-2       0.00     0.00     0.00     0     0
dm-3       0.00     0.00     0.00     0     0

-d 參數(shù),顯示設備(磁盤)使用狀態(tài)

[root@localhost ~]# iostat -d 1 3
Linux 2.6.32-573.el6.x86_64 (localhost)     06/30/2017   _x86_64_    (4 CPU)
Device:      tps  Blk_read/s  Blk_wrtn/s  Blk_read  Blk_wrtn
sda        0.14     0.08     3.31  1939830  83470564
dm-0       0.42     0.07     3.30  1872538  83269968
dm-1       0.00     0.00     0.00   39840   124112
dm-2       0.00     0.00     0.00    2002   76424
dm-3       0.00     0.01     0.00   254810   14320

解釋一下輸出列表示什么意思:

tps:該設備每秒的傳輸次數(shù)(Indicate the number of transfers per second that were issued to the device.)?!耙淮蝹鬏敗币馑际恰耙淮蜪/O請求”。多個邏輯請求可能會被合并為“一次I/O請求”?!耙淮蝹鬏敗闭埱蟮拇笮∈俏粗摹?/p>

kB_read/s:每秒從設備(drive expressed)讀取的數(shù)據(jù)量;kB_wrtn/s:每秒向設備(drive expressed)寫入的數(shù)據(jù)量;kB_read:讀取的總數(shù)據(jù)量;kB_wrtn:寫入的總數(shù)量數(shù)據(jù)量;這些單位都為Kilobytes。

上面的例子中,我們可以看到磁盤sda以及它的各個分區(qū)的統(tǒng)計數(shù)據(jù),當時統(tǒng)計的磁盤總TPS是39.29,下面是各個分區(qū)的TPS。(因為是瞬間值,所以總TPS并不嚴格等于各個分區(qū)TPS的總和)
-x 參數(shù),輸出更多詳細信息

[root@localhost ~]# iostat -x 1 2
Linux 2.6.32-573.el6.x86_64 (localhost)     06/30/2017   _x86_64_    (4 CPU)
avg-cpu: %user  %nice %system %iowait %steal  %idle
      0.02  0.00  0.00  0.00  0.00  99.98
Device:     rrqm/s  wrqm/s   r/s   w/s  rsec/s  wsec/s avgrq-sz avgqu-sz  await r_await w_await svctm %util
sda        0.00   0.27  0.00  0.14   0.08   3.31  23.78   0.00  0.31  1.51  0.29  0.16  0.00
dm-0       0.00   0.00  0.00  0.41   0.07   3.30   8.13   0.00  2.64  2.05  2.64  0.06  0.00
dm-1       0.00   0.00  0.00  0.00   0.00   0.00   8.00   0.00  2.29  1.61  2.51  0.08  0.00
dm-2       0.00   0.00  0.00  0.00   0.00   0.00   8.01   0.00  19.82  0.64  20.30  0.03  0.00
dm-3       0.00   0.00  0.00  0.00   0.01   0.00  30.85   0.00  0.04  0.02  0.20  0.02  0.00

解釋一下 -x參數(shù)輸出列意思

rrqm/s:每秒這個設備相關的讀取請求有多少被Merge了(當系統(tǒng)調用需要讀取數(shù)據(jù)的時候,VFS將請求發(fā)到各個FS,如果FS發(fā)現(xiàn)不同的讀取請求讀取的是相同Block的數(shù)據(jù),F(xiàn)S會將這個請求合并Merge);wrqm/s:每秒這個設備相關的寫入請求有多少被Merge了。

rsec/s:每秒讀取的扇區(qū)數(shù);wsec/:每秒寫入的扇區(qū)數(shù)。r/s:The number of read requests that were issued to the device per second;w/s:The number of write requests that were issued to the device per second;

await:每一個IO請求的處理的平均時間(單位是毫秒)。這里可以理解為IO的響應時間,一般地系統(tǒng)IO響應時間應該低于5ms,如果大于10ms就比較大了。

%util:在統(tǒng)計時間內所有處理IO時間,除以總共統(tǒng)計時間。例如,如果統(tǒng)計間隔1秒,該設備有0.8秒在處理IO,而0.2秒閑置,那么該設備的%util = 0.8/1 = 80%,所以該參數(shù)暗示了設備的繁忙程度。一般地,如果該參數(shù)是100%表示設備已經(jīng)接近滿負荷運行了(當然如果是多磁盤,即使%util是100%,因為磁盤的并發(fā)能力,所以磁盤使用未必就到了瓶頸)。

常見用法

iostat -d -k 1 10    #查看TPS和吞吐量信息
iostat -d -x -k 1 10   #查看設備使用率(%util)、響應時間(await)
iostat -c 1 10      #查看cpu狀態(tài)

使用實例

查看指定磁盤吞吐量和速率

[root@localhost ~]# iostat -d -d 1 1
Linux 2.6.32-573.el6.x86_64 (localhost)     06/30/2017   _x86_64_    (4 CPU)
Device:      tps  Blk_read/s  Blk_wrtn/s  Blk_read  Blk_wrtn
sda        0.14     0.08     3.31  1939830  83482716
dm-0       0.42     0.07     3.30  1872538  83282120
dm-1       0.00     0.00     0.00   39840   124112
dm-2       0.00     0.00     0.00    2002   76424
dm-3       0.00     0.01     0.00   254810   14320
#從結果看到平均傳輸次數(shù)0.14,每秒讀取0.08M,每秒寫3.31M

磁盤性能統(tǒng)計

[root@localhost ~]# iostat -x -k 1 1
Linux 2.6.32-573.el6.x86_64 (localhost)     06/30/2017   _x86_64_    (4 CPU)
avg-cpu: %user  %nice %system %iowait %steal  %idle
      0.02  0.00  0.00  0.00  0.00  99.98
Device:     rrqm/s  wrqm/s   r/s   w/s    rkB/s  wkB/s avgrq-sz avgqu-sz  await  r_await w_await svctm %util
sda        0.00   0.27     0.00  0.14   0.04   1.65  23.78    0.00     0.31  1.51      0.29  0.16  0.00

以上所述是小編給大家介紹的詳解Linux命令iostat,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

最新評論