C# CPU 사용률을 확인 하기 위해서는 PerformanceCounter 를 이용하여 확인이 가능하다. PerformanceCounter 는 윈도우의 성능 모니터 를 실행하여 상세한 사용법을 알수 있다.
1. C# CPU 사용률 확인
public float CheckTotalCPU() { string categoryName = "Processor Information"; string counterName = "% Processor Utility"; string instanceName = "_Total"; float cpuPercent = 0.0F; PerformanceCounter cpuCounter = new PerformanceCounter(categoryName, counterName, instanceName); Thread.Sleep(1000); cpuPercent = cpuCounter.NextValue(); return cpuPercent; }
위 코드를 사용하면 CPU 사용율을 Return 받을수 있다. 중간에 Sleep 를 추가 한것은 생성이후에 일정 시간이 지나야 정상적인 값이 출력된다.
PerformanceCounter cpuCounter 를 전역 변수로 설정을 하고 Sleep 을 없앤후 해당 함수를 일정 주기로 호출하는 형태로 변경하여 사용도 가능하다.
2. 성능모니터
categoryName / counterName / instanceName 값에 다른 값을 입력하면 다른 PC 의 상태를 모니터링 가능하다.
시작에서 성능모니터를 실행한다.
위 화면은 아무런 모니터링 항목이 없는데 아래의 설명대로 카운터를 추가한다.
사용가능한 카운터에서 Processor Information 을 선택한다.
세부 항목은 % Processor Utility 인스턴스는 _Total 을 선택한다.
여기 까지 선택하면 해당 값들이 PerformanceCounter 에 입력 했던 categoryName / counterName / instanceName 값이 된다.
다른 많은 항목이 있으니 자신이 원하는 항목에 대해서 C# 코드 내에서 모니터링 가능해진다.
성능 모니터에서 모니터링 방식은 총 3가지이며 선형 / 히스토그램막대형 / 보고서 형태이다. 모니터링 항목은 복수개 선택 가능하다.
각 모니터링 화면은 아래와 같다.
선형
히스토그램 막대형
보고서
개인적으로 보고서 형태가 여러개의 항목을 모니터링 하기 편했다.
PerformanceCounter 와 성능모니터를 이용하면 C# 에서 PC 의 거의 모든 상태를 확인이 가능하다.