PhysicalDisk
을 사용하여 PerformanceCounter
클래스의 NextValue
을 얻으려고합니다. 이유를 알 수없는 몇 가지 이유가 있으며, 매번 0
을 반환합니다.NextValue() 반환의 0
PerformanceCounter pcDiskTime = new PerformanceCounter("PhysicalDisk", "% Disk Time", "_Total");
Single sinDisk = pcDiskTime.NextValue(); //returns 0.0
위를 사용하고 pcDiskTime.NextValue
수익의 0
를 호출. 나는 다른 카운터가 잘 작동하고 필요한 것을 반환합니다.
.RawValue
뭔가를 반환하지만 필요한 값이 아닙니다. 내가하지 않는 것이 명백한가요?
참고 : 나는 Performance Monitor
을 통해 실제로 이러한 유형, 카운터 이름 및 인스턴스 이름이 올바른지 확인했습니다. 또한 .NextValue()
번을 두 번 때로는 첫 번째 반품 0.0
으로 두려고했지만이 방법은 도움이되지 않습니다.
MSDN :'계산 된 카운터 값이 두 개의 카운터 읽기에 의존하면 첫 번째 읽기 연산은 0.0을 반환합니다. '매번 새로운 카운터를 만들면 NextValue가 항상 첫 번째 호출이됩니다. (이것이 2 개의 읽기에 의존하는 것인지 확실하지 않습니다.) – Plutonix
@Plutonix 좋은 점, 다른 카운터 중 일부는 두 번의 읽기가 필요합니다. ; 내 게시물에 이것을 언급하는 걸 깜빡 했어. 나는 제안을 위해 고맙다, 고마워 할 것이다. – Codexer