我需要提取给定进程的磁盘统计信息,我可以获取列出的进程并获取总体信息,例如使用 WMI 和 PerformanceCounters 列出的 CPU 和内存。但信息都是捆绑在一起的,有什么方法可以提取每个进程的这些数据。有点像 Windows 资源监视器?
提前致谢
如果您需要实时数据,您应该实现 ETW 监听器。
ETW 是 Windows 中跟踪性能信息的方式。它可追溯到 Windows 2000。
Windows 中的每个组件都会报告 ETW 事件(如果有侦听器正在等待数据)。
例如,磁盘信息、内存(消耗、页面错误等)、争用、CPU 使用情况(每个核心、每个线程、每个应用程序,甚至对磁盘或网络的单个 IO 请求。
驱动程序使用它,.NET CLR 使用它(获取 JIT 或 GC 统计信息),并且示例是无穷无尽的。
我建议您从下载 XPerf\Xperf 视图或 Windows 性能记录器 + 分析器、PerfView 开始,尝试查看您到底在寻找什么信息,然后开始创建托管 ETW 侦听器。
你可以从这个开始博客文章,或搜索 Vans Morison(负责管理 MS 中的 ETW 提供商和消费者)发布的 ETW 帖子。
希望这可以帮助,
奥菲尔。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)