2009-09-01 1 views
2

프로세스 ID가 주어지면 어떻게 C#으로이 프로세스에서 CPU로드를 얻을 수 있습니까? 에 기재된Windows 프로세스의 CPU 사용량을 계산 하시겠습니까?

난 PerformanceCounter를 사용하여 시도 c# calculate CPU usage for a specific application

I 또한 수동 시간 내에 프로세스에 대한 총 CPU 시간의 두 값을 가지고 델타 총 델타 CPU 시간을 분할하는 것을 시도했다 -시각.

이 두 가지 방법은 처음에는 잘 작동하는 것으로 보이지만 내 응용 프로그램을 Windows 작업 관리자 옆에 놓으면 내 응용 프로그램이 항상 작업 관리자만큼 두 배 정도의 성능을 보여줍니다. 나는 10ms에서 10sec까지 다양한 타임 스텝으로 업데이트하려고 노력했고 항상 같은 결과를 얻었습니다. 난 당신이 두 개의 코어가있는 경우

답변

3

는 작업 관리자가 50 %로 1 개 CPU의 100 % 사용을보고 할 것입니다 ... 듀얼 코어 문제의 일종이 될 수 있음이 쓴

흠 실현 . 그게 바로 당신 문제입니다.