Csharp/C#教程:如何在Windows中获取每个进程磁盘活动分享


如何在Windows中获取每个进程磁盘活动

我需要提取给定进程的磁盘统计信息,我可以获取列出的进程并使用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提供商和消费者)的ETWpost。

希望这有帮助,Ofir。

上述就是C#学习教程:如何在Windows中获取每个进程磁盘活动分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1001085.html

(0)
上一篇 2021年12月28日
下一篇 2021年12月28日

精彩推荐