使用Windows API的每个文件IO跟踪(每秒读写速率)

时间:2019-06-10 22:09:18

标签: windows winapi io paging

是否可以跟踪读写文件$NF的字节总数?这样做的目的是绘制随时间变化的分页活动速率,并确定内存瓶颈情况。

我看过FileSystemWatcher,但似乎只通知已更改的事件,而不通知已读/写的字节。

我认为自Resource Monitor can do it (see first image)起,必须有一个允许它的API。

编辑

作为上面链接中的状态,“性能计数器\ Memory \ Page / sec,\ Memory \ Page Reads / sec和\ Memory \ Page Inputs / sec衡量硬页错误(必须由磁盘解决的错误)可能与页面文件或物理内存不足无关的 硬页面错误是操作系统的正常功能,在读取其中的部分内容时会发生读取内存映射文件或从页面文件读取时需要的图像文件(DLL和EXE)。

因此,性能计数器不足以完成此任务。我需要检测实际的页面文件活动,而不是“正常”的硬故障。

1 个答案:

答案 0 :(得分:0)

是的,有一种查询所需信息的方法。它在Windows中称为性能计数器,并且为性能计数器的使用者和生产者提供了一组丰富的API。由于要消耗性能计数器,因此应该查看使用者API。以下链接将帮助您获取所需的信息。