Windows Server 2025 / 성능 모니터로 CPU·메모리·디스크 병목을 확인하는 방법

서버 성능은 CPU·메모리·디스크·네트워크를 같은 시각에 관찰하고 평소 상태와 비교해야 판단할 수 있습니다. 작업 관리자로 현재 상태를 확인한 뒤 성능 모니터의 데이터 수집기 집합으로 일정 시간 기록하면 간헐적인 지연도 분석할 수 있습니다.

측정할 증상과 비교 조건을 정합니다

느리다는 표현을 파일 열기 지연, 로그인 지연, 웹 응답 지연처럼 구체화합니다. 영향받은 사용자와 시각, 동시 작업 수와 최근 변경을 적으세요. CPU가 높다는 사실이 모든 지연의 원인은 아니며 VM에서는 호스트 자원 부족이 게스트에 영향을 줄 수도 있습니다.

같은 서버의 유휴 상태와 대표 작업 수행 중 상태를 같은 수집 간격·카운터로 비교합니다. 실습에서 작은 파일 하나를 복사했다고 최대 처리량을 측정한 것으로 해석하지 않습니다. 운영 서버에 무제한 부하를 만들기보다 실제 증상을 관찰할 범위를 정합니다.

작업 관리자에서 현재 병목 후보를 찾습니다

  1. 서버에서 작업 관리자 → 프로세스·세부 정보를 열어 CPU와 메모리를 사용하는 프로세스를 확인합니다.
  2. 성능 탭에서 CPU·메모리·디스크·네트워크 흐름을 함께 봅니다.
  3. 리소스 모니터를 사용할 수 있으면 해당 프로세스의 파일·디스크·네트워크 활동을 연결해 봅니다.
  4. 어떤 서버와 시점의 값인지 기록하고 즉시 프로세스를 종료하지 않습니다.

백분율과 절대값을 함께 봐야 합니다. 전체 CPU 평균이 낮아도 특정 코어가 포화될 수 있고, 메모리 사용량이 높아도 유용한 캐시일 수 있습니다. 데이터베이스나 파일 서버의 정상 캐시를 오류라고 생각해 서비스를 반복 재시작하지 마세요.

성능 모니터에 필요한 카운터를 추가합니다

perfmon을 열고 성능 모니터의 카운터 추가에서 아래 항목을 고릅니다. 카운터 이름은 OS 언어에 따라 현지화될 수 있으므로 영문 명령을 복사하기보다 실제 목록의 설명을 확인하세요. 성능 모니터 진단 안내도 증상에 맞는 기록을 강조합니다.

자원 확인할 예시
CPU Processor 또는 Processor Information의 % Processor Time, 전체와 필요한 코어
메모리 Memory의 Available MBytes, Pages/sec 등
디스크 PhysicalDisk의 Avg. Disk sec/Read·Write와 작업량
네트워크 Network Interface의 Bytes Total/sec와 해당 어댑터

디스크 카운터의 sec 값은 초 단위이므로 밀리초로 읽을 때 변환이 필요합니다. 네트워크 Bytes/sec와 링크의 bits/sec도 단위가 다릅니다. 인스턴스가 실제 서비스 디스크·어댑터와 맞는지 확인하고 _Total만으로 모든 장치 문제를 가리지 않도록 합니다.

5분간의 데이터 수집기 집합을 만듭니다

  1. 데이터 수집기 집합 → 사용자 정의에서 새 데이터 수집기 집합을 만듭니다. 이름은 Lab-Perf-15sec처럼 목적을 드러냅니다.
  2. 수동 생성에서 성능 카운터를 선택하고 앞서 정한 항목만 추가합니다.
  3. 샘플 간격을 실습 예시로 15초로 지정합니다. 진단 목적에 따라 실제 간격은 달라질 수 있습니다.
  4. 데이터 저장 위치는 충분한 여유 공간과 적절한 접근 권한이 있는 새 폴더로 정합니다.
  5. 수집기 집합의 중지 조건에서 전체 기간 5분을 지정하고 실행 계정·경로를 확인합니다.
  6. 시작 후 평소 상태와 작은 대표 작업의 시작·종료 시각을 기록합니다. 설정한 시간이 지나 수집이 멈추는지 확인합니다.

짧은 간격으로 너무 많은 카운터를 오랫동안 모으면 로그 용량과 수집 부하가 늘어납니다. 무한 수집을 켜 둔 채 잊지 않도록 시간·최대 로그 크기와 보존 방식을 정하세요. 수집기가 있다는 사실과 실제 실행·완료한 사실은 다릅니다.

평균·최대값과 같은 시각의 원인을 비교합니다

보고서 → 사용자 정의에서 해당 실행 결과를 열거나 성능 모니터의 원본을 로그 파일로 바꿔 BLG를 읽습니다. 수집 시각과 사용자 증상 시각을 맞추고, 카운터 하나의 큰 값보다 여러 자원의 동시 변화를 살펴보세요.

  • CPU가 지속 상승하면 어느 프로세스·코어가 관련됐는지 확인합니다.
  • 메모리 부족은 가용 메모리와 페이징, 프로세스 증가와 함께 판단합니다.
  • 디스크 지연은 작업량과 장치·호스트 저장소 상태를 함께 봅니다.
  • 네트워크 증가가 정상 전송인지 재시도·다른 작업인지 구분합니다.

일률적인 숫자 하나로 모든 서버를 정상·장애로 나누지 않습니다. 평소 기준선, 역할과 사용자 응답을 함께 비교하고 설정을 하나만 바꿔 같은 조건으로 재측정합니다. 실습 수집기는 중지·정리하고 필요한 원본 로그와 조건·결과를 남깁니다.