【发布时间】:2014-02-25 17:38:38
【问题描述】:
我需要提取给定进程的磁盘统计信息,我可以获取列出的进程并使用 WMI 和 PerformanceCounters 获取列出的 CPU 和内存等总体信息。但是信息都是捆绑在一起的,有没有办法在每个进程中提取这些数据。有点像在 Windows 资源监视器中?
提前致谢
【问题讨论】:
-
不确定这是否有用,但可以尝试一下; msdn.microsoft.com/en-us/library/2fh4x1xb%28vs.71%29.aspx
-
它是性能计数器——你应该很容易获得整体 IO 速率(即磁盘 + 网络 + 驱动程序 IO)。我没有办法将它分成不同的类别 - 我会冒险猜测与进程资源管理器中使用的方法相同,因此至少需要一些努力。
-
虽然读得更多,但很可能是 Windows Performance Analyzer (WPA) 使用
EVENT_TRACE_FLAG_DISK_IO和EVENT_TRACE_FLAG_DISK_FILE_IO并将IssuingThreadId映射回请求它的进程。 -
@Petesh 我可以挑出磁盘 IO 速率。我遇到的麻烦是在每个系统进程中获取这些数据速率。我也在研究 WPA,谢谢...
-
@MartijnHols 非常感谢...但是数据仍然是磁盘的整体读取..
标签: c# performance monitoring