首页 新闻 会员 周边

C# 如何获取计算机磁盘的IO速率,

0
悬赏园豆:30 [已解决问题] 解决于 2018-09-06 08:40

在各个浏览器查了好久也没能找到详细的有用的, 有没有大侠给个指导?

Anlien-Bei的主页 Anlien-Bei | 初学一级 | 园豆:48
提问于:2018-09-03 09:40
< >
分享
最佳答案
1

使用 PerformanceCounter:
using System.Threading;
using System.Diagnostics;
PerformanceCounter pc1 = new PerformanceCounter("PhysicalDisk", "Disk Reads/sec", "_Total");
var value1 = pc1.NextValue();
Thread.Sleep(200);
var value2 = pc1.NextValue();
Thread.Sleep(200);
var value3 = pc1.NextValue();
Thread.Sleep(200);
var value4 = pc1.NextValue();
Thread.Sleep(200);
var value5 = pc1.NextValue();

收获园豆:15
大豆男生 | 小虾三级 |园豆:608 | 2018-09-03 16:08

不行的 额

Anlien-Bei | 园豆:48 (初学一级) | 2018-09-05 17:21

@Anlien-Bei:
多了一个 s,应该是 "Disk Read Bytes/sec"。
即:PerformanceCounter diskp = new PerformanceCounter("PhysicalDisk", "Disk Read Bytes/sec", "_Total");
参考:https://www.cnblogs.com/anjou/p/9593537.html

大豆男生 | 园豆:608 (小虾三级) | 2018-09-05 17:39

@大豆男生: 好的 ,谢谢你哦

Anlien-Bei | 园豆:48 (初学一级) | 2018-09-06 08:39
其他回答(4)
0
收获园豆:5
dudu | 园豆:30994 (高人七级) | 2018-09-03 09:44

额 ,大侠这个我会的, 现在要的是计算磁盘的IO速率 ,嘿嘿

支持(0) 反对(0) Anlien-Bei | 园豆:48 (初学一级) | 2018-09-03 09:47

@Anlien-Bei: WM I获取不到,那就通过 PerformanceCounter ,参考 Reading the value of a performance counter on Windows with C# .NET

支持(0) 反对(0) dudu | 园豆:30994 (高人七级) | 2018-09-03 10:05

@dudu: 我指的是磁盘IO速率 ,不知道您给的好像没有关系

支持(0) 反对(0) Anlien-Bei | 园豆:48 (初学一级) | 2018-09-03 11:10
0
收获园豆:5
放逐人 | 园豆:694 (小虾三级) | 2018-09-03 11:54

我看过啦 ,谢谢你哦

支持(0) 反对(0) Anlien-Bei | 园豆:48 (初学一级) | 2018-09-05 17:22
0

网卡怎么测试,你就可以怎么测试。
并且你所谓的速率 大文件、小文件(顺序、随机)是否都应当纳入考虑。

收获园豆:5
花飘水流兮 | 园豆:13560 (专家六级) | 2018-09-03 14:06

对 , 这些都的考虑,那整个设计思路下来 ,就复杂好多 ,能量不够了

支持(0) 反对(0) Anlien-Bei | 园豆:48 (初学一级) | 2018-09-05 17:22
0

改行吧.......

DiggingDeeply | 园豆:338 (菜鸟二级) | 2018-09-06 13:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册