Perfmon "% Processor Time"카운터는 어떻게 100 %를 초과 할 수 있습니까?


9

카운터 Process(sqlservr)\% Processor Time가 데이터베이스 서버 중 하나에서 약 300 %를 가리키고 있습니다. 이 카운터는 SQL Server가 CPU에서 실행하는 데 소비 한 총 시간의 백분율 (사용자 모드 + 권한 모드)을 나타냅니다. Sql Server 2008 내부 및 문제 해결 서적에 따르면 80 %보다 큰 것이 문제 라고합니다.

해당 카운터가 100 %를 초과 할 수있는 방법은 무엇입니까?

답변:


21

이름이 같은 카운터가 두 개 있습니다.

Process\% Processor Time: 각 프로세서 의 프로세서 시간 합계

Processor(_Total)\% Processor Time: 모든 프로세서의 총계

귀하의 질문은 첫 번째 카운터를 사용하고 있음을 나타냅니다. 즉, 최대 값은 100 % * (CPU 없음)입니다.

따라서 CPU가 4 개인 경우 총 최대 값은 400 %이며 80 %는 실제로 (400 * 0.8 =) 320 %입니다 (8 개의 CPU의 경우 640 % 등).


네! 그게 다야. CPU가 8 개 있습니다. 따라서 내 sqlservr 총 CPU 사용량은 실제로 약 37 %입니다. 그리고 그것은 모든 것이 정상임을 의미합니다. 감사합니다, @Farseeker!
Bill Paetzke

언제든지 다중 CPU 시스템에서 perfmon을 처음 사용할 때 비슷한 쿼리가 발생했습니다.
Mark Henderson

2
CPU 수에 하이퍼 스레딩이 포함됩니까? 예를 들어, 컴퓨터가 쿼드 코어이고 하이퍼 스레딩이있는 경우 4 프로세서 또는 8을 고려해야합니까?
Matthew Rodatus

1
0에서 100 % 사이의 값으로 단일 프로세스의 프로세서 사용량을 찾는 방법이 있습니까 (일명 : 모든 CPU에 대한 분산로드를 보여줍니다)? 나 자신을 나누고 싶지 않다
Jeroen Vannevel

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.