4
A
답변
4
OS 기능을 권장합니다. Windows에는이를위한 성능 카운터와 WinAPI 기능이 있습니다.
foreach (Process proc in Process.GetProcesses()) {
using (PerformanceCounter pcProcess = new PerformanceCounter("Process", "% Processor Time", proc.ProcessName)) {
pcProcess.NextValue();
System.Threading.Thread.Sleep(1000);
Console.WriteLine("Process:{0} CPU% {1}", proc.ProcessName, pcProcess.NextValue());
}
}
이 코드는 CodeProject에서 WMI와 같은 수 :
public string GetCPU()
{
decimal PercentProcessorTime=0;
mObject_CPU.Get();
ulong u_newCPU =
(ulong)mObject_CPU.Properties["PercentProcessorTime"].Value;
ulong u_newNano =
(ulong)mObject_CPU.Properties["TimeStamp_Sys100NS"].Value;
decimal d_newCPU = Convert.ToDecimal(u_newCPU);
decimal d_newNano = Convert.ToDecimal(u_newNano);
decimal d_oldCPU = Convert.ToDecimal(u_oldCPU);
decimal d_oldNano = Convert.ToDecimal(u_oldNano);
// Thanks to MSDN for giving me this formula !
PercentProcessorTime =
(1 - ((d_newCPU-d_oldCPU)/(d_newNano - d_oldNano)))*100m;
// Save the values for the next run
u_oldCPU = u_newCPU;
u_oldNano = u_newNano;
return PercentProcessorTime.ToString("N",nfi);;
}
그래서 당신은 (이 OS 제공 업체를 조회 할 수 있습니다 여기에
는 BCL Team Blog에서 성능 카운터를 사용하는 예입니다 또는 귀하의 운영 체제에 대한 다른) 프로세서 사용률이 높은 경우 스레드를 잠. 고전적인 이벤트 기반 모델을 - - 또는 주기적으로 짧은 시간 동안 잠을 입력 기다려야 하나에
0
가장 쉬운 방법은 메인 루프를 수정하는 것입니다.
응용 프로그램을 잠자기 상태로 설정하면 10-100ms 범위 내의 매우 짧은 시간 제한을 사용하고 일부 사용자 입력은 지연되고 더 적은 OS 수준 오버 헤드가 전환 될 것입니다 신청.
관련 문제
- 1. FFMPEG 및 CPU 사용률
- 2. UNIX에서의 CPU 사용률
- 3. 톰캣 JMX CPU 사용률
- 4. WebGL에서 높은 CPU 사용률?
- 5. CPU 사용률 높음 - VB.NET
- 6. 예기치 않은 소켓 CPU 사용률
- 7. 최적의 CPU 사용률 임계 값
- 8. CPU 사용률 OS X 인터페이스
- 9. MPI 응용 프로그램의 CPU 사용률
- 10. Windows XP에서 CPU 사용률 측정법을 얻는 방법?
- 11. Windows 7에서 프로세스 당 CPU 사용률 활용
- 12. MySQL 높은 CPU 사용률 및 지속적인 링크
- 13. C/C++에서 CPU 사용률 이벤트 알림?
- 14. Linux에서 특정 CPU, 디스크 및 네트워크 사용률 워크로드 생성
- 15. 내 장치로 인한 장치 드라이버 측정 CPU/IO 사용률
- 16. Flex AIR SwfLoader CPU 사용률> 50 % 문제
- 17. MapGuide Open Source 2.1의 공간 인덱스 및 CPU 사용률
- 18. ntkrnlpa에서 비정상적인 높은 CPU 사용률 : FsRtlAreNamesEqual 및 ntkrnlpa : RtlUpcaseUnicodeString
- 19. 주어진 부하 (% CPU 사용률)에서 CPU를 실행하는 방법은 무엇입니까?
- 20. 메모리 사용률
- 21. IPV6 사용률 연구
- 22. jsp에서 CPU 사용률을 얻는 방법
- 23. MySql 및 SQL Server 리소스 사용률 비교
- 24. C#에서 WinCE에서 장치의 CPU 사용률 및 사용 가능한 RAM 가져 오기
- 25. 창문이 지칠대로 지친 100 %의 CPU 사용률 좀비 모드로 갈 때 무엇을
- 26. C에서 네트워크 사용률 가져 오기
- 27. CPU/메모리 사용량을 얻기위한 교차 플랫폼 방식
- 28. iPhone/iPad의 CPU 사용량을 얻는 방법은 무엇입니까?
- 29. C# WPF 애니메이션에 대한 비정상적인 CPU 사용량이
- 30. 메모리 사용률 : WPF vs Windows Forms
감사합니다. 내가 토론하고 싶었던 것은 "CPU로드를 폴링하고 삽입하는"것이 유일한/최선의 선택 일 뿐이므로 그렇게하는 것이 아니 었습니다. – gil