我已經使用C#編寫了一個小型WPF小部件,它將當前CPU活動,使用的RAM和磁盤活動顯示爲三個小百分比類型條。我已經使用了以下PerformanceCounters此:(diskCounter的PerformanceCounter以每秒字節返回當前總的磁盤活動)以編程方式確定計算機的最大硬盤驅動器數據傳輸速率使用C#
private void InitialisePerformanceCounters()
{
cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total", true);
totalRam = (int)(new Microsoft.VisualBasic.Devices.ComputerInfo().TotalPhysicalMemory/1024/1024);
ramCounter = new PerformanceCounter("Memory", "Available MBytes");
diskCounter = new PerformanceCounter("PhysicalDisk", "Disk Bytes/sec", "_Total", true);
}
的問題是,雖然我已經發現如何得到總的可用內存來計算從使用比例,我無法找到如何讀取磁盤的'理論'最大數據傳輸率。我需要這個來計算使用的磁盤傳輸速率的百分比。 任何幫助將不勝感激。
你會如何找到最大可能的速度? AFAIK這取決於HD的當前位置,所以這或多或少會給你一個錯誤的結果,或者不是? – InsertNickHere 2010-06-30 16:04:36
@InsertNickHere:測量最大可能速率的唯一方法是寫入整個磁盤並間隔測量。你是正確的,這取決於許多因素,但這應該至少提供一個可用的近似值。 – 2010-06-30 16:06:55
感謝Adam,但我不需要任何如此準確的東西...... Jonathan建議的理論最大比率很好。 – Sheridan 2010-06-30 16:25:33