小編給大家分享一下oracle中如何使用iostat,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)公司是一家集做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)站頁(yè)面設(shè)計(jì)、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)的建站公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗(yàn),以探求精品塑造與理念升華,設(shè)計(jì)最適合用戶的網(wǎng)站頁(yè)面。 合作只是第一步,服務(wù)才是根本,我們始終堅(jiān)持講誠(chéng)信,負(fù)責(zé)任的原則,為您進(jìn)行細(xì)心、貼心、認(rèn)真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場(chǎng)環(huán)境中,互促共生。iostat主要用于監(jiān)控系統(tǒng)設(shè)備的IO負(fù)載情況,iostat首次運(yùn)行時(shí)顯示自系統(tǒng)啟動(dòng)開(kāi)始的各項(xiàng)統(tǒng)計(jì)信息,之后運(yùn)行iostat將顯示自上次運(yùn)行該命令以后的統(tǒng)計(jì)信息。用戶可以通過(guò)指定統(tǒng)計(jì)的次數(shù)和時(shí)間來(lái)獲得所需的統(tǒng)計(jì)信息。
iostat [ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ] [ device [...] | ALL ] [ -p [ device [,...] | ALL ] ] [ interval [ count ] ]
iostat -d -k 2
參數(shù) -d 表示,顯示設(shè)備(磁盤(pán))使用狀態(tài);-k某些使用block為單位的列強(qiáng)制使用Kilobytes為單位;
2表示,數(shù)據(jù)顯示每隔2秒刷新一次。
輸出如下
[oracle@rh7 ~]$ iostat -d -k 1 1 Linux 2.6.32-71.el6.i686 (rh7.cuug.net) 09/03/2014 _i686_ (1 CPU) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 7.12 118.75 92.50 359143 279757 sdb 4.80 21.57 36.84 65225 111408 sdc 1.05 1.96 186.00 5928 562546 dm-0 31.31 116.83 92.49 353325 279736 dm-1 0.13 0.50 0.00 1516 0 dm-2 7.14 11.74 19.82 35501 59940 dm-3 4.11 5.58 9.11 16881 27540 dm-4 0.12 0.41 0.07 1249 216 dm-5 2.32 3.51 7.84 10605 23712 dm-6 24.76 0.48 98.55 1457 298052 dm-7 21.98 0.48 87.45 1445 264480
輸出信息的意義
tps:該設(shè)備每秒的傳輸次數(shù)(Indicate the number of transfers per second that were issued to the device.)。"一次傳輸"意思是"一次I/O請(qǐng)求"。多個(gè)邏輯請(qǐng)求可能會(huì)被合并為"一次I/O請(qǐng)求"。"一次傳輸"請(qǐng)求的大小是未知的。 kB_read/s:每秒從設(shè)備(drive expressed)讀取的數(shù)據(jù)量; kB_wrtn/s:每秒向設(shè)備(drive expressed)寫(xiě)入的數(shù)據(jù)量; kB_read:讀取的總數(shù)據(jù)量; kB_wrtn:寫(xiě)入的總數(shù)量數(shù)據(jù)量;這些單位都為Kilobytes。
上面的例子中,我們可以看到磁盤(pán)sda、sdb、sdc以及它的各個(gè)分區(qū)的統(tǒng)計(jì)數(shù)據(jù)。(因?yàn)槭撬查g值,所以總TPS并不嚴(yán)格等于各個(gè)分區(qū)TPS的總和)
指定監(jiān)控的設(shè)備名稱為sda,該命令的輸出結(jié)果和上面命令完全相同。
iostat -d sda 2
默認(rèn)監(jiān)控所有的硬盤(pán)設(shè)備,現(xiàn)在指定只監(jiān)控sda。
[oracle@rh7 ~]$ iostat -d sda Linux 2.6.32-71.el6.i686 (rh7.cuug.net) 09/03/2014 _i686_ (1 CPU) Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 5.95 186.83 148.89 718302 572434
iostat還有一個(gè)比較常用的選項(xiàng)-x,該選項(xiàng)將用于顯示和io相關(guān)的擴(kuò)展數(shù)據(jù)。
[oracle@rh7 ~]$ iostat -d -x Linux 2.6.32-71.el6.i686 (rh7.cuug.net) 09/03/2014 _i686_ (1 CPU) Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 3.31 16.34 2.74 3.15 184.16 146.98 56.21 0.14 23.31 11.92 7.02 sdb 2.09 5.85 0.60 3.79 33.46 63.70 22.14 0.10 23.22 20.64 9.05 sdc 0.51 35.65 0.41 0.41 3.04 288.45 356.75 0.04 52.55 1.49 0.12 dm-0 0.00 0.00 5.65 19.16 181.17 146.97 13.23 6.47 260.78 2.80 6.95 dm-1 0.00 0.00 0.10 0.00 0.78 0.00 8.00 0.00 4.15 3.08 0.03 dm-2 0.00 0.00 1.17 4.85 18.22 34.03 8.68 0.07 10.98 9.06 5.46 dm-3 0.00 0.00 1.06 2.59 8.66 17.28 7.10 0.04 12.06 10.83 3.95 dm-4 0.00 0.00 0.07 0.02 0.64 0.11 8.42 0.00 6.56 5.20 0.05 dm-5 0.00 0.00 0.26 1.56 5.44 12.28 9.76 0.12 65.55 2.49 0.45 dm-6 0.00 0.00 0.09 19.10 0.75 152.83 8.00 2.55 132.86 0.04 0.07 dm-7 0.00 0.00 0.09 16.95 0.74 135.61 8.00 2.54 149.24 0.02 0.03
rrqm/s:每秒這個(gè)設(shè)備相關(guān)的讀取請(qǐng)求有多少被Merge了(當(dāng)系統(tǒng)調(diào)用需要讀取數(shù)據(jù)的時(shí)候,VFS將請(qǐng)求發(fā)到各個(gè)FS,如果FS發(fā)現(xiàn)不同的讀取請(qǐng)求讀取的是相同Block的數(shù)據(jù),F(xiàn)S會(huì)將這個(gè)請(qǐng)求合并Merge); wrqm/s:每秒這個(gè)設(shè)備相關(guān)的寫(xiě)入請(qǐng)求有多少被Merge了。 rsec/s:每秒讀取的扇區(qū)數(shù); wsec/:每秒寫(xiě)入的扇區(qū)數(shù)。 rKB/s:The number of read requests that were issued to the device per second; wKB/s:The number of write requests that were issued to the device per second; avgrq-sz 平均請(qǐng)求扇區(qū)的大小 avgqu-sz 是平均請(qǐng)求隊(duì)列的長(zhǎng)度。毫無(wú)疑問(wèn),隊(duì)列長(zhǎng)度越短越好。 await: 每一個(gè)IO請(qǐng)求的處理的平均時(shí)間(單位是微秒毫秒)。這里可以理解為IO的響應(yīng)時(shí)間,一般地系統(tǒng)IO響應(yīng)時(shí)間應(yīng)該低于5ms,如果大于10ms就比較大了。 這個(gè)時(shí)間包括了隊(duì)列時(shí)間和服務(wù)時(shí)間,也就是說(shuō),一般情況下,await大于svctm,它們的差值越小,則說(shuō)明隊(duì)列時(shí)間越短,反之差值越大,隊(duì)列時(shí)間越長(zhǎng),說(shuō)明系統(tǒng)出了問(wèn)題。svctm 表示平均每次設(shè)備I/O操作的服務(wù)時(shí)間(以毫秒為單位)。如果svctm的值與await很接近,表示幾乎沒(méi)有I/O等待,磁盤(pán)性能很好,如果await的值遠(yuǎn)高于svctm的值,則表示I/O隊(duì)列等待太長(zhǎng),系統(tǒng)上運(yùn)行的應(yīng)用程序?qū)⒆兟?%util: 在統(tǒng)計(jì)時(shí)間內(nèi)所有處理IO時(shí)間,除以總共統(tǒng)計(jì)時(shí)間。例如,如果統(tǒng)計(jì)間隔1秒,該設(shè)備有0.8秒在處理IO,而0.2秒閑置,那么該設(shè)備的%util = 0.8/1 = 80%,所以該參數(shù)暗示了設(shè)備的繁忙程度 。一般地,如果該參數(shù)是100%表示設(shè)備已經(jīng)接近滿負(fù)荷運(yùn)行了(當(dāng)然如果是多磁盤(pán),即使%util是100%,因?yàn)榇疟P(pán)的并發(fā)能力,所以磁盤(pán)使用未必就到了瓶頸)。
iostat還可以用來(lái)獲取cpu部分狀態(tài)值:
[oracle@rh7 ~]$ iostat -c 1 1 Linux 2.6.32-71.el6.i686 (rh7.cuug.net) 09/03/2014 _i686_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.34 0.00 0.78 13.60 0.00 85.28
iostat -d -k 1 10 #查看TPS和吞吐量信息(磁盤(pán)讀寫(xiě)速度單位為KB) iostat -d -m 2 #查看TPS和吞吐量信息(磁盤(pán)讀寫(xiě)速度單位為MB) iostat -d -x -k 1 10 #查看設(shè)備使用率(%util)、響應(yīng)時(shí)間(await) iostat -c 1 10 #查看cpu狀態(tài)
[oracle@rh7 ~]$ iostat -d -k 1 3 |grep sdb
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdb 4.32 15.57 31.50 65309 132152
sdb 4.00 0.00 32.00 0 32
sdb 0.00 0.00 0.00 0 0
[oracle@rh7 ~]$ iostat -d -k -x 1 2 Linux 2.6.32-71.el6.i686 (rh7.cuug.net) 09/03/2014 _i686_ (1 CPU) Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 3.00 14.90 2.51 3.02 84.39 67.36 54.92 0.13 23.14 12.12 6.70 sdb 1.89 5.67 0.54 3.74 15.16 31.05 21.59 0.10 23.20 20.75 8.88 sdc 0.46 32.29 0.37 0.37 1.38 130.61 356.75 0.04 52.55 1.49 0.11 dm-0 0.00 0.00 5.14 17.59 83.04 67.35 13.23 5.86 257.93 2.92 6.63 dm-1 0.00 0.00 0.09 0.00 0.35 0.00 8.00 0.00 4.15 3.08 0.03 dm-2 0.00 0.00 1.06 4.66 8.26 16.34 8.59 0.06 11.22 9.24 5.29 dm-3 0.00 0.00 0.96 2.55 3.92 8.52 7.08 0.04 12.28 11.12 3.91 dm-4 0.00 0.00 0.07 0.01 0.29 0.05 8.42 0.00 6.56 5.20 0.04 dm-5 0.00 0.00 0.23 1.56 2.46 6.14 9.59 0.11 61.25 2.47 0.44 dm-6 0.00 0.00 0.08 17.30 0.34 69.20 8.00 2.31 132.86 0.04 0.06 dm-7 0.00 0.00 0.08 15.35 0.34 61.41 8.00 2.30 149.24 0.02 0.03
案例分析:
1)在db上做壓力測(cè)試 18:09:46 SCOTT@ test1 >begin 2 for i in 1..1000000 loop 3 insert into tb1 values (i); 4 end loop; 5* end; 2)通過(guò)oracle監(jiān)控?cái)?shù)據(jù)文件I/O 18:14:02 SYS@ test1 >select d.tablespace_name tbs,d.file_name,f.phyrds,f.phyblkrd ,f.readtim,f.phywrts,f.phyblkwrt, 2 f.writetim 3 from v$filestat f,dba_data_files d 4 where f.file#=d.file_id 5* order by tablespace_name ,file_name; TBS FILE_NAME PHYRDS PHYBLKRD READTIM PHYWRTS PHYBLKWRT WRITETIM -------------------- ------------------------------ ---------- ---------- ---------- ---------- ---------- ---------- DICT1 /u01/app/oracle/oradata/test1/ 0 0 0 0 0 0 dict1.dbf INDX /u01/app/oracle/oradata/test1/ 1 1 0 0 0 0 index01.dbf PERFS /u01/app/oracle/oradata/test1/ 1 1 0 0 0 0 perfs.dbf SYSAUX /u01/app/oracle/oradata/test1/ 958 1321 267 257 337 1387 sysaux01.dbf SYSTEM /u01/app/oracle/oradata/test1/ 4229 8177 8 121 146 722 system01.dbf TBS_16 /u01/app/oracle/oradata/test1/ 1 1 0 0 0 0 tbs_16.dbf TBS FILE_NAME PHYRDS PHYBLKRD READTIM PHYWRTS PHYBLKWRT WRITETIM -------------------- ------------------------------ ---------- ---------- ---------- ---------- ---------- ---------- UNDOTBS2 /u01/app/oracle/oradata/test1/ 12929 12939 15 9037 12335 2545 undotbs2.dbf USERS /u01/app/oracle/oradata/test1/ 72 72 0 1175 1593 1783 users01.dbf 8 rows selected. undotbs2表空間上壓力增大(DML操作生成大量的undo),users表空間壓力增大,tb1表數(shù)據(jù)存儲(chǔ)在users表空間上。 3)查看磁盤(pán)I/O [oracle@rh7 ~]$ iostat -d -k -c 1 1 Linux 2.6.32-71.el6.i686 (rh7.cuug.net) 09/03/2014 _i686_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.78 0.00 1.03 14.15 0.00 84.04 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 5.46 76.27 83.33 363511 397137 sdb 4.65 14.07 87.64 67081 417684 sdc 0.82 1.24 180.29 5932 859266 dm-0 26.32 75.05 83.32 357693 397116 dm-1 0.08 0.32 0.00 1516 0 dm-2 19.83 7.83 72.44 37341 345256 dm-3 3.46 3.54 8.64 16881 41156 dm-4 0.07 0.26 0.05 1249 216 dm-5 1.87 2.23 6.52 10621 31056 dm-6 31.28 0.31 124.79 1461 594772 dm-7 13.95 0.30 55.49 1445 264480 [oracle@rh7 ~]$ iostat -d -k -x 1 1 Linux 2.6.32-71.el6.i686 (rh7.cuug.net) 09/03/2014 _i686_ (1 CPU) Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 2.70 18.76 2.26 3.19 76.09 83.14 58.44 0.13 23.72 13.63 7.43 sdb 1.70 19.57 0.58 4.06 14.04 87.46 43.74 0.12 25.54 22.23 10.32 sdc 0.42 44.49 0.33 0.48 1.24 179.86 445.40 0.55 681.36 8.93 0.73 dm-0 0.00 0.00 4.63 21.63 74.87 83.14 12.04 5.32 202.57 2.81 7.37 dm-1 0.00 0.00 0.08 0.00 0.32 0.00 8.00 0.00 4.15 3.08 0.02 dm-2 0.00 0.00 1.05 18.74 7.82 72.28 8.09 0.31 15.64 3.40 6.73 dm-3 0.00 0.00 0.87 2.58 3.53 8.63 7.05 0.05 13.06 11.85 4.09 dm-4 0.00 0.00 0.06 0.01 0.26 0.05 8.42 0.00 6.56 5.20 0.04 dm-5 0.00 0.00 0.21 1.66 2.22 6.50 9.33 0.10 54.91 3.38 0.63 dm-6 0.00 0.00 0.08 31.13 0.31 124.50 8.00 67.75 2171.18 0.22 0.68 dm-7 0.00 0.00 0.08 13.84 0.30 55.36 8.00 2.08 149.24 0.02 0.03
/u01文件系統(tǒng)(數(shù)據(jù)文件)在sda上,redo log files存儲(chǔ)在sdb上,歸檔日志文件存儲(chǔ)在sdc上;通過(guò)以上可以知道,在sda和sdb上的I/O的壓力較大。
以上是“oracle中如何使用iostat”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。