【问题标题】:Where does Windows store amount of data read written to hard driveWindows 将读取写入硬盘的数据量存储在哪里
【发布时间】:2012-01-03 05:49:37
【问题描述】:

我想开发一个程序来跟踪写入我的硬盘的数据量。我搜索了互联网,但没有找到必要的 API 调用。 但是它们必须存在,因为我发现了一个商业程序(www.hddled.com),它完全符合我的要求,它甚至显示了在 Windows 启动后启动时读取/写入的数据量。因此,我强烈认为 Windows 会在某处跟踪这些数字?

【问题讨论】:

    标签: windows hard-drive


    【解决方案1】:

    一般而言,此类信息可通过 Windows Performance Counters 获得。特别是,磁盘子系统将发布(某处!)每个磁盘设备读取和写入的字节数。准备好进行一些挖掘以准确找到您正在寻找的信息。

    【讨论】:

      【解决方案2】:

      身体上?可能在文件文件描述符表中。

      【讨论】:

        【解决方案3】:

        在互联网上进一步挖掘后,我找到了完美的解决方案。它被称为“Windows 管理基础结构”,以下 C# 代码行在 Windows 会话期间提供读取/写入的数据量,尽管值的名称有点误导:

        ManagementObjectSearcher searcher =
           new ManagementObjectSearcher("SELECT * FROM  Win32_PerfRawData_PerfDisk_PhysicalDisk");
        ManagementObjectCollection col = searcher.Get();
        m.GetPropertyValue("DiskReadBytesPerSec");
        m.GetPropertyValue("DiskWriteBytesPerSec");
        foreach (ManagementObject m in col)
        {
           m.GetPropertyValue("DiskReadBytesPerSec");
           m.GetPropertyValue("DiskWriteBytesPerSec");
        }
        

        【讨论】:

        • 这些是每秒。问题是关于读取/写入的字节总数。
        猜你喜欢
        • 1970-01-01
        • 2017-08-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-23
        • 2015-11-17
        • 1970-01-01
        相关资源
        最近更新 更多