DiskMon for Windows v2.01

作者:Mark Russinovich

發佈日期: 2006 年 11 月 1 日


介紹

DiskMon 這個應用程式會記錄和顯示在 Windows 系統上的所有硬碟活動。您也可以將 DiskMon 最小化到系統匣,使其以像是磁碟燈號的方式運作,當有磁碟讀取活動時會顯示綠色圖示,當有磁碟寫入活動時則顯示紅色圖示。

DiskMon 可在 NT4.0 和更新的版本上執行。

安裝和使用

安裝 DiskMon 與解壓縮它和輸入 "diskmon" 一樣容易。在 Windows NT 上,GUI 會動態地載入驅動程式 (根據在 Windows NT DDK 中的 instdrv 範例程式碼),這將會開始監控所有的硬碟。在 Win2000 及更新的版本上,沒有驅動程式元件:GUI 依賴核心事件追蹤以取得磁碟活動。功能表與工具列按鈕可用以停用事件擷取、控制清單檢視的捲動,以及將清單檢視內容儲存到 ASCII 檔案。

若要讓 DiskMon 以在系統匣中做為磁碟燈號的方式運作,請選取 [選項]|[最小化至系統匣] 功能表項目,或是以 "/l" (小寫 L) 命令列參數來啟動 DiskMon,例如 diskmon /l。若要重新啟動 DiskMon 視窗,請按兩下 DiskMon 系統匣圖示。若要為系統匣中的 Diskmon 建立捷徑,請在 Program Files\Startup 資料夾中建立捷徑、編輯捷徑的屬性、並將「目標」設定為指向加上引號的路徑之可執行檔,以及引號外的參數。

"C:\Sysinternals Tools\Diskmon.exe" /l

讀取和寫入位移是根據磁區來顯示 (512 位元)。事件可以根據其持續時間 (總微秒數) 來計時,或是以啟始事件的絕對時間來加上戳記。「歷程記錄深度」對話方塊可用以指定在 GUI 中將保留的最大記錄數目 (0 表示沒有限制)。

Windows NT 4 Implementation

使用標準篩選技術時,像 DiskMon 這樣動態載入的驅動程式無法附加至磁碟裝置物件以及查看來自於檔案系統的要求。這是因為檔案系統驅動程式會在系統初始化期間開啟磁碟裝置,並不像「I/O 管理員」,檔案系統驅動程式會直接在這些裝置上傳送 IRP。「I/O 管理員」允許在初始化後將檔案系統篩選器驅動程式附加至檔案系統裝置,因為每當它要傳送 IRP 至檔案系統時,就會檢查附加的裝置,而且會將 IRP 改導向它們。

DiskMon 使用我已經開發的驅動程式功能攔截技術來克服此限制。DiskMon 會尋找磁碟裝置的驅動程式物件,並以驅動程式的分派輸入點來取代自己的輸入點。DiskMon 篩選功能會將它所看到的 IRP 傳遞到攔截的驅動程式,同時也會以類似的方式來攔截完成常式,這樣它就可以看到要求的結果。

Windows 2000 and Higher Implementation

在 Win2000 以及較新版的 Diskmon 上使用核心事件追蹤。事件追蹤是記錄在 Microsoft Platform SDK 中,而且 SDK 包含 TraceDmp 的原始程式碼,這個程式碼也是 Diskmon 的依據。

下載 Diskmon for Windows NT 4 (68 KB)

下載 Diskmon for Windows 2000/XP/2K3 (80 KB)

 

回到頁首