>백엔드 개발 >C++ >C#에서 CPU 사용량을 어떻게 계산합니까?

C#에서 CPU 사용량을 어떻게 계산합니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-27 07:51:10653검색

How Do I Calculate CPU Usage in C#?

C# 애플리케이션에서 CPU 사용량 모니터링

이 가이드에서는 PerformanceCounter 클래스를 사용하여 C# 애플리케이션 내에서 시스템 전체 CPU 사용량 데이터를 얻는 방법을 보여줍니다.

카운터 설정:

CPU 사용량을 추적하기 위해 PerformanceCounter 객체를 인스턴스화하는 것부터 시작하세요. 이는 범주("Processor"), 카운터 이름("% Processor Time") 및 인스턴스 이름(전체 시스템 사용량의 경우 "_Total")을 지정하여 수행됩니다.

<code class="language-csharp">PerformanceCounter cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");</code>

CPU 사용량 검색:

현재 CPU 사용률은 NextValue() 메서드를 사용하여 구합니다. NextValue()에 대한 첫 번째 호출은 항상 0%를 반환합니다. 의미 있는 결과를 얻으려면 잠시 후 두 번째 통화가 필요합니다.

<code class="language-csharp">public string GetCpuUsage()
{
    // First call to NextValue() is always 0, so we discard it.
    cpuCounter.NextValue();
    System.Threading.Thread.Sleep(1000); // Wait 1 second for a more accurate reading.
    return cpuCounter.NextValue() + "%";
}</code>

중요 사항:

  • 초기 NextValue() 호출은 기본 0% 값을 폐기하는 데 중요합니다.
  • System.Threading.Thread.Sleep() 방법에서는 정확한 측정을 위해 지연이 발생합니다. 필요에 따라 지연을 조정하세요.
  • 이 카운터는 모든 프로세서 코어의 총 CPU 사용량을 반영합니다.
  • 사용 가능한 RAM과 같은 다른 시스템 리소스를 모니터링하기 위해 유사한 PerformanceCounter 개체를 활용할 수 있습니다. 예:
<code class="language-csharp">PerformanceCounter ramCounter = new PerformanceCounter("Memory", "Available MBytes");

public string GetAvailableRAM()
{
    return ramCounter.NextValue() + " MB";
}</code>

PerformanceCounter 클래스는 시스템 성능 모니터링을 C# 애플리케이션에 통합하는 강력하고 효율적인 방법을 제공합니다. 사용 중에 잠재적인 예외(예: PerformanceCounterException)를 처리하는 것을 잊지 마세요.

위 내용은 C#에서 CPU 사용량을 어떻게 계산합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.