C# CPU 사용률 가져오기 – PerformanceCounter 사용법 (성능모니터)

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 의 상태를 모니터링 가능하다.

시작에서 성능모니터를 실행한다.

성능모니터_실행

성능모니터

위 화면은 아무런 모니터링 항목이 없는데 아래의 설명대로 카운터를 추가한다.

성능모니터_카운터추가

 

성능모니터_Count 선택

사용가능한 카운터에서 Processor Information 을 선택한다.

성능모니터_상세항목선택

세부 항목은 % Processor Utility   인스턴스는 _Total  을 선택한다.

여기 까지 선택하면 해당 값들이 PerformanceCounter  에   입력 했던 categoryName / counterName  / instanceName  값이 된다.

다른 많은 항목이 있으니 자신이 원하는 항목에 대해서 C# 코드 내에서 모니터링 가능해진다.

 

 




 

성능 모니터에서 모니터링 방식은 총 3가지이며 선형 / 히스토그램막대형 / 보고서  형태이다.  모니터링 항목은 복수개 선택 가능하다.

각 모니터링 화면은 아래와 같다.

성능모니터_모니터링_선형

선형

 

 

성능모니터_모니터링_막대

히스토그램 막대형

 

성능모니터_모니터링_보고서

보고서

 

 

개인적으로 보고서 형태가 여러개의 항목을 모니터링 하기 편했다.

 

PerformanceCounter  와 성능모니터를 이용하면 C# 에서 PC 의 거의 모든 상태를 확인이 가능하다.

 

 




 

Related Posts

Oracle DB 접속 – C# 에서 Oracle Client 설치 없이 접속

Oracle DB 접속 하기 위해서는 우선 Oracle Client 를 설치 해야하는 번거로움이 있다. C# 에서  Oracle Client 설치 없이 DLL 참조 추가 형태로 Oracle 접속하는 방법을 알려…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다