filemon 指令跟蹤裝置來擷取一段時間間隔内的 I/O 活動的詳細圖像,該時間間隔産生于檔案系統應用的不同層面,包括本地檔案系統、虛拟記憶體段、LVM 和實體磁盤層。
filemon 指令可用于收集所有層上的資料,或者可通過 -O 層選項指定層。預設值是在 VM、LVM 和實體層面上收集。總結和詳細報告一起生成。既然它使用了跟蹤裝置,那麼 filemon 指令就可以隻被 root 使用者或一位系統組的成員運作。
為了确認 filemon 指令是否已安裝并且可用,您可以運作如下指令:
# lslpp -lI perfagent.tools
Fileset Level State Description
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
perfagent.tools 6.1.6.15 COMMITTED Local Performance Analysis &
Control Commands
Path: /etc/objrepos
使用 filemon 指令可以啟動跟蹤,可選用 trcoff 子指令進行暫挂,選用 trcon 子指令繼續進行。一旦跟蹤被終止,filemon 指令便将報告寫入标準輸出。
注: 将隻收集在 filemon 指令啟動之後打開的那些檔案的資料(除非指定 -u 标志)。
filemon 指令可以從一個指定的檔案中讀取 I/O 跟蹤的資料,而不是從實時跟蹤程序中讀取。在這種情況下,filemon 報告總結了系統的 I/O 活動情況和由跟蹤檔案表示的周期。當需要對遠端機器上的跟蹤檔案進行後處理,或者一段時間執行跟蹤資料收集另一段時間用來對它進行後處理,這時這種脫機處理的方法就很有用處。
trcrpt -r 指令必須對跟蹤日志檔案執行,并且重定向到另一個檔案,如下所示:
在這點上,調整過的跟蹤日志檔案伺服于 filemon 指令以便報告被先前跟蹤會話捕捉到的 I/O 活動,如下所示:
本例中,filemon 指令從輸入檔案 trace.rpt 讀取檔案系統跟蹤事件。因為跟蹤資料已經捕捉到檔案中,filemon 指令并不将它放到背景以便讓應用程式運作。整個檔案被讀取之後,有關虛拟記憶體、邏輯卷和實體卷級别的 I/O 活動報告将會在标準輸出中顯示。(在這個示例中,報告被輸送到 pg 指令中)。
下列指令的序列給出了一個有關 filemon 指令使用的示例:
這份報告是按此序列生成的(在另一類空閑系統),如下所示:
在系統伴有真實負載的情況下使用 filemon 指令将産生更長的報告并可能需要更多的跟蹤緩存空間。filemon 指令的空間和 CPU 時間消耗可能在一定範圍内降低系統性能。在生産環境下開始使用之前,先用 filemon 指令在非生産系統中試驗。此外,使用脫機處理,并且在多 CPU 系統上将 -C all 标志與trace 指令一起使用。
注: 盡管 filemon 指令以詳細的統計資訊報告了平均數、最小值、最大值和标準偏差,但是該結果并不能用來形成可信間隔數或其他正式的統計推理。總的來說,資料點的分布既不随機也不對稱。