filemon 命令跟蹤設(shè)備來獲取一段時間間隔內(nèi)的 I/O 活動的詳細(xì)圖像,,該時間間隔產(chǎn)生于文件系統(tǒng)應(yīng)用的不同層面,,包括本地文件系統(tǒng)、虛擬內(nèi)存段,、LVM 和物理磁盤層,。
filemon 命令可用于收集所有層上的數(shù)據(jù),,或者可通過 -O 層選項指定層,。 缺省值是在 VM、LVM 和物理層面上收集,。 總結(jié)和詳細(xì)報告一起生成,。 既然它使用了跟蹤設(shè)備,那么 filemon 命令就可以只被 root 用戶或一位系統(tǒng)組的成員運(yùn)行,。
為了確認(rèn) filemon 命令是否已安裝并且可用,,您可以運(yùn)行如下命令:
# lslpp -lI perfagent.tools
使用 filemon 命令可以啟動跟蹤,可選用 trcoff 子命令進(jìn)行暫掛,,選用 trcon 子命令繼續(xù)進(jìn)行,。 一旦跟蹤被終止,filemon 命令便將報告寫入標(biāo)準(zhǔn)輸出,。
注: 除非指定 -u 標(biāo)志,,否則將僅收集在 filemon 命令啟動后打開的那些文件的數(shù)據(jù)。
filemon 命令可以從一個指定的文件中讀取 I/O 跟蹤的數(shù)據(jù),,而不是從實時跟蹤進(jìn)程中讀取,。 在這種情況下,filemon 報告總結(jié)了系統(tǒng)的 I/O 活動情況和由跟蹤文件表示的周期,。 當(dāng)需要對遠(yuǎn)程機(jī)器上的跟蹤文件進(jìn)行后處理,,或者一段時間執(zhí)行跟蹤數(shù)據(jù)收集另一段時間用來對它進(jìn)行后處理,這時這種脫機(jī)處理的方法就很有用處,。
trcrpt
-r 命令必須對跟蹤日志文件執(zhí)行,,并且重定向到另一個文件,如下所示:
# gennames > gennames.out
# trcrpt -r trace.out > trace.rpt
在這點(diǎn)上,,調(diào)整過的跟蹤日志文件伺服于 filemon 命令以便報告被先前跟蹤會話捕捉到的 I/O 活動,,如下所示:
# filemon -i trace.rpt -n gennames.out | pg
本例中,filemon 命令從輸入文件 trace.rpt 讀取文件系統(tǒng)跟蹤事件,。 因為跟蹤數(shù)據(jù)已經(jīng)捕捉到文件中,,filemon 命令并不將它放到后臺以便讓應(yīng)用程序運(yùn)行,。 整個文件被讀取之后,有關(guān)虛擬內(nèi)存,、邏輯卷和物理卷級別的 I/O 活動報告將會在標(biāo)準(zhǔn)輸出中顯示,。(在這個示例中,報告被輸送到 pg 命令中),。
如果使用 -C all 標(biāo)志運(yùn)行 trace 命令,,那么還使用 -C all 標(biāo)志運(yùn)行 trcrpt 命令 (請參閱 格式化來自跟蹤 -C 輸出的報告),。
下列命令的序列給出了一個有關(guān) filemon 命令使用的示例:
# filemon -o fm.out -O all; cp /smit.log /dev/null ; trcstop
這份報告是按此序列生成的(在另一類空閑系統(tǒng)),如下所示:
Thu Aug 19 11:30:49 1999
System: AIX texmex Node: 4 Machine: 000691854C00
0.369 secs in measured interval
Cpu utilization: 9.0%
Most Active Files
------------------------------------------------------------------------
#MBs #opns #rds #wrs file volume:inode
------------------------------------------------------------------------
0.1 1 14 0 smit.log /dev/hd4:858
0.0 1 0 13 null
0.0 2 4 0 ksh.cat /dev/hd2:16872
0.0 1 2 0 cmdtrace.cat /dev/hd2:16739
Most Active Segments
------------------------------------------------------------------------
#MBs #rpgs #wpgs segid segtype volume:inode
------------------------------------------------------------------------
0.1 13 0 5e93 ???
0.0 2 0 22ed ???
0.0 1 0 5c77 persistent
Most Active Logical Volumes
------------------------------------------------------------------------
util #rblk #wblk KB/s volume description
------------------------------------------------------------------------
0.06 112 0 151.9 /dev/hd4 /
0.04 16 0 21.7 /dev/hd2 /usr
Most Active Physical Volumes
------------------------------------------------------------------------
util #rblk #wblk KB/s volume description
------------------------------------------------------------------------
0.10 128 0 173.6 /dev/hdisk0 N/A
------------------------------------------------------------------------
Detailed File Stats
------------------------------------------------------------------------
FILE: /smit.log volume: /dev/hd4 (/) inode: 858
opens: 1
total bytes xfrd: 57344
reads: 14 (0 errs)
read sizes (bytes): avg 4096.0 min 4096 max 4096 sdev 0.0
read times (msec): avg 1.709 min 0.002 max 19.996 sdev 5.092
FILE: /dev/null
opens: 1
total bytes xfrd: 50600
writes: 13 (0 errs)
write sizes (bytes): avg 3892.3 min 1448 max 4096 sdev 705.6
write times (msec): avg 0.007 min 0.003 max 0.022 sdev 0.006
FILE: /usr/lib/nls/msg/en_US/ksh.cat volume: /dev/hd2 (/usr) inode: 16872
opens: 2
total bytes xfrd: 16384
reads: 4 (0 errs)
read sizes (bytes): avg 4096.0 min 4096 max 4096 sdev 0.0
read times (msec): avg 0.042 min 0.015 max 0.070 sdev 0.025
lseeks: 10
FILE: /usr/lib/nls/msg/en_US/cmdtrace.cat volume: /dev/hd2 (/usr) inode: 16739
opens: 1
total bytes xfrd: 8192
reads: 2 (0 errs)
read sizes (bytes): avg 4096.0 min 4096 max 4096 sdev 0.0
read times (msec): avg 0.062 min 0.049 max 0.075 sdev 0.013
lseeks: 8
------------------------------------------------------------------------
Detailed VM Segment Stats (4096 byte pages)
------------------------------------------------------------------------
SEGMENT: 5e93 segtype: ???
segment flags:
reads: 13 (0 errs)
read times (msec): avg 1.979 min 0.957 max 5.970 sdev 1.310
read sequences: 1
read seq. lengths: avg 13.0 min 13 max 13 sdev 0.0
SEGMENT: 22ed segtype: ???
segment flags: inode
reads: 2 (0 errs)
read times (msec): avg 8.102 min 7.786 max 8.418 sdev 0.316
read sequences: 2
read seq. lengths: avg 1.0 min 1 max 1 sdev 0.0
SEGMENT: 5c77 segtype: persistent
segment flags: pers defer
reads: 1 (0 errs)
read times (msec): avg 13.810 min 13.810 max 13.810 sdev 0.000
read sequences: 1
read seq. lengths: avg 1.0 min 1 max 1 sdev 0.0
------------------------------------------------------------------------
Detailed Logical Volume Stats (512 byte blocks)
------------------------------------------------------------------------
VOLUME: /dev/hd4 description: /
reads: 5 (0 errs)
read sizes (blks): avg 22.4 min 8 max 40 sdev 12.8
read times (msec): avg 4.847 min 0.938 max 13.792 sdev 4.819
read sequences: 3
read seq. lengths: avg 37.3 min 8 max 64 sdev 22.9
seeks: 3 (60.0%)
seek dist (blks): init 6344,
avg 40.0 min 8 max 72 sdev 32.0
time to next req(msec): avg 70.473 min 0.224 max 331.020 sdev 130.364
throughput: 151.9 KB/sec
utilization: 0.06
VOLUME: /dev/hd2 description: /usr
reads: 2 (0 errs)
read sizes (blks): avg 8.0 min 8 max 8 sdev 0.0
read times (msec): avg 8.078 min 7.769 max 8.387 sdev 0.309
read sequences: 2
read seq. lengths: avg 8.0 min 8 max 8 sdev 0.0
seeks: 2 (100.0%)
seek dist (blks): init 608672,
avg 16.0 min 16 max 16 sdev 0.0
time to next req(msec): avg 162.160 min 8.497 max 315.823 sdev 153.663
throughput: 21.7 KB/sec
utilization: 0.04
------------------------------------------------------------------------
Detailed Physical Volume Stats (512 byte blocks)
------------------------------------------------------------------------
VOLUME: /dev/hdisk0 description: N/A
reads: 7 (0 errs)
read sizes (blks): avg 18.3 min 8 max 40 sdev 12.6
read times (msec): avg 5.723 min 0.905 max 20.448 sdev 6.567
read sequences: 5
read seq. lengths: avg 25.6 min 8 max 64 sdev 22.9
seeks: 5 (71.4%)
seek dist (blks): init 4233888,
avg 171086.0 min 8 max 684248 sdev 296274.2
seek dist (%tot blks):init 48.03665,
avg 1.94110 min 0.00009 max 7.76331 sdev 3.36145
time to next req(msec): avg 50.340 min 0.226 max 315.865 sdev 108.483
throughput: 173.6 KB/sec
utilization: 0.10
在系統(tǒng)伴有真實負(fù)載的情況下使用 filemon 命令將產(chǎn)生更長的報告并可能需要更多的跟蹤緩存空間,。 filemon 命令的空間和 CPU 時間消耗可能在一定范圍內(nèi)降低系統(tǒng)性能,。 在生產(chǎn)環(huán)境下開始使用之前,先用 filemon 命令在非生產(chǎn)系統(tǒng)中試驗,。 此外,,使用脫機(jī)處理,并且在多 CPU 系統(tǒng)上將
-C all 標(biāo)志與 trace 命令一起使用,。
注: 雖然 filemon 命令在其詳細(xì)統(tǒng)計信息部分中報告平均值,,最小值,最大值和標(biāo)準(zhǔn)差,,但結(jié)果不應(yīng)用于開發(fā)置信區(qū)間或其他形式的統(tǒng)計推論,。 總的來說,數(shù)據(jù)點(diǎn)的分布既不隨機(jī)也不對稱,。