使用C++获取系统HDD的使用情况

Get system HDD usage with C++

本文关键字:用情 情况 HDD C++ 获取 系统 使用      更新时间:2023-10-16

我想知道在非托管C++代码中是否可能发生这种情况?

我正在编写一个程序,显示系统上当前的CPU使用情况,但我观察到,在一些较新的台式机上,当一些漫长的硬盘驱动器操作正在进行时(例如,从后台备份过程中),CPU使用率保持很低(不到10%),但系统使用起来有些慢。因此,我想在我的程序中添加系统范围内的当前HDD使用情况,我只是不确定使用什么API。

您正在寻找"%磁盘时间"性能计数器。这表示磁盘忙于处理请求的时间(平均)部分。如果它接近100%,那么CPU可能会等待I/O完成很多时间。

另一个选项是"当前磁盘队列长度"。这表示有多少请求处于挂起状态,这反过来又是多余操作(已发布操作-已完成操作)的度量。如果队列中没有挂起的操作,则CPU没有在等待磁盘;如果有吨,那么CPU就没有什么可做的了。

当然,如果有低优先级的CPU连接线程,那么在高优先级线程等待I/O时,这些线程仍将运行。Windows不会因为磁盘繁忙而浪费CPU时间。

相关文章: