현재 CPU 사용량, 사용 된 RAM 및 디스크 동작을 세 가지 작은 백분율 유형 막대로 표시하는 C#을 사용하여 작은 WPF 위젯을 작성했습니다. 나는이에 대해 다음 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);
}
문제는 내가 발견하지만 방법에서 사용되는 비율을 계산하기 위해 사용 가능한 총 RAM을 얻을 수 있다는 것입니다 , 나는 디스크의 '이론적 인'최대 데이터 전송 속도를 읽는 방법을 찾을 수 없습니다. 사용 된 디스크 전송 속도의 백분율을 계산하려면이 값이 필요합니다. 도움을 주시면 대단히 감사하겠습니다.
가능한 최대 속도는 어떻게 찾을 수 있습니까? AFAIK 이것은 HD의 현재 위치에 따라 다르므로이 결과는 어느 정도 잘못된 결과를 줄 것인가 아닌가? – InsertNickHere
@InsertNickHere : 가능한 최대 속도를 측정하는 유일한 방법은 전체 디스크에 기록하고 간격을 측정하는 것입니다. 이것이 여러 가지 요소에 달려 있다는 점에서 옳습니다. 그러나 이것은 적어도 사용 가능한 근사치를 제공해야합니다. –
감사합니다. Adam,하지만 저는 그렇게 정확한 것을 필요로하지 않습니다 ... Jonathan이 제시 한 이론적 최대 속도는 괜찮습니다. – Sheridan