隨着xperf我可以生成一個跟蹤和獲取所有文件的 「扁平化」 上市閱讀像這樣:列出使用xperf訪問每個進程的文件?
xperf -on FileIO專注+ FILE_IO + FILE_IO_INIT +文件名-stackwalk FILEREAD + FILEWRITE + FileDelete
xperf - 啓動FileIOSession -heap -PidNewProcess 「C:\ Python27 \ 86 \ python.exe scratchy.py」 -WaitForNewProcess -buffersize 1024 -MinBuffers 128 -MaxBuffers 512 -stackwalk HeapAlloc + HeapReAlloc的-f ./tempheap.etl
xperf - 停止FileIOSession -stop -d fileio.etl
xperf -i fileio.etl -o fio_outp ut.txt -a文件名
不幸的是,fio_output.txt文件包含了每個可以被訪問的文件的列表(來自我的Web瀏覽器,IDE等)。更令人沮喪的是,如果我手動打開xperfview並打開文件I/O總結表,我可以看到我的進程(本例中是python.exe)和它讀取的一個文件(用於測試目的),但似乎無法找到在CLI上輸出相同數據的方式就是我所需要的 - 無人值守的自動生成文件訪問信息的方法。
我不明白它是如何幫助僅從一個進程(和它的子進程)跟蹤I/O的問題。 – Zadan 2013-08-08 04:03:26
如果您可以通過tracerpt.exe將數據轉儲爲CSV,那麼在PID上進行簡單處理就很簡單了。 – 2013-08-08 08:47:29
tracerpt也有同樣的問題 - 我可以指定一個提供者,但是在很短的時間內,我會淹死在數據中。我需要能夠在數據到達磁盤之前進行過濾,否則我將從字面上耗盡磁盤空間。我的用例是用於監視在構建期間完成的讀/寫I/O,該構建可以持續2個小時。而且我的虛擬機並沒有TB的可用空間。 – Zadan 2013-08-10 05:03:14