본문 바로가기
IT생활

Windows 작업 관리자(Task Manager)에서 표시되지 않는 운영체제(OS) 및 기타 시스템 프로세스가 사용하는 메모리를 확인하는 방법

by 우물 밖 개구리. 2025. 3. 23.
반응형

Windows 작업 관리자(Task Manager)에서 표시되지 않는 운영체제(OS) 및 기타 시스템 프로세스가 사용하는 메모리를 확인하는 방법을 설명하겠습니다.


1. 작업 관리자에서 메모리 사용량 확인

기본적으로 작업 관리자에서는 프로세스별 메모리 사용량을 표시하지만, Windows 커널, 드라이버, 예약된 메모리 등 운영체제가 사용하는 메모리는 명확하게 보이지 않을 수 있습니다.

  1. Ctrl + Shift + Esc를 눌러 작업 관리자를 실행
  2. "성능" (Performance) → "메모리" (Memory) 탭으로 이동
  3. "사용 가능"(Available), "캐시됨"(Cached), "커밋됨"(Committed) 등의 항목 분석

2. RAM 사용량을 세부적으로 분석하는 방법

(1) 리소스 모니터(Resource Monitor) 활용

리소스 모니터를 통해 운영체제가 차지하는 숨겨진 메모리 사용량을 확인할 수 있습니다.

  1. Win + R을 누르고 resmon 입력 후 실행
  2. "메모리" (Memory) 탭 선택
  3. 메모리 사용량 항목 분석
    • Hardware Reserved (하드웨어 예약됨): BIOS 및 드라이버가 잡아먹는 메모리
    • In Use (사용 중): 현재 실행 중인 프로세스가 사용 중인 메모리
    • Modified (변경됨): OS가 데이터를 캐시하기 위해 사용하는 영역
    • Standby (대기 상태): 캐시된 파일로, 필요 시 빠르게 해제 가능
    • Free (여유 메모리): 사용 가능한 메모리

💡 예상보다 많은 RAM이 "Hardware Reserved" 또는 "Standby"에 할당되어 있을 수 있음


(2) RAMMap (Microsoft Sysinternals) 활용

Windows의 RAMMap 툴을 사용하면 보다 세부적인 메모리 사용량을 확인할 수 있습니다.

  1. Microsoft에서 RAMMap 다운로드 (공식 링크)
  2. RAMMap 실행 후 "Use Counts" 탭 확인
    • Process Private: 개별 프로세스가 사용하는 메모리
    • Mapped File: 메모리에 매핑된 파일
    • Driver Locked: 드라이버가 잠금한 메모리
    • Kernel Stack: Windows 커널이 사용하는 메모리
    • Nonpaged Pool: 절대 디스크로 스와핑되지 않는 커널 메모리
    • Paged Pool: 필요 시 디스크로 스와핑되는 커널 메모리
    • Standby List: 캐시된 파일 (필요 시 해제 가능)

💡 특히 "Driver Locked"와 "Nonpaged Pool"이 비정상적으로 크다면, 드라이버 문제가 의심됨


(3) 명령 프롬프트(PowerShell) 활용

메모리 사용량을 텍스트 기반으로 확인할 수도 있습니다.

PowerShell을 이용한 메모리 분석

  1. Win + X → Windows PowerShell (관리자) 실행
  2. 다음 명령어 입력:
    • 메모리를 많이 차지하는 프로세스를 확인 가능
  3. Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 20
  4. 커널 메모리 및 시스템 사용량 확인
    • TotalVisibleMemorySize: 총 물리 메모리 (KB)
    • FreePhysicalMemory: 현재 사용 가능한 메모리 (KB)
  5. Get-CimInstance Win32_OperatingSystem | Select-Object TotalVisibleMemorySize, FreePhysicalMemory

💡 커널 메모리가 과도하게 높다면, Windows 자체가 많은 메모리를 사용 중일 가능성이 큼


3. 특정 원인과 해결 방법

(1) Standby 메모리가 지나치게 많을 때

  • Standby 메모리는 캐시된 메모리로, 시스템에서 필요할 때 자동으로 해제됨
  • 하지만 특정한 경우 Standby 메모리가 과도하게 축적되어 새로운 프로세스가 사용할 메모리가 부족해질 수 있음

💡 해결 방법: Empty Standby List 사용

  1. RAMMap 실행 후 "Empty → Empty Standby List" 클릭
  2. 또는, 다음 PowerShell 명령어 실행
    Clear-PageFileCache
    
  3. 메모리 해제됨을 확인

(2) Windows 커널 및 드라이버가 너무 많은 메모리를 사용할 때

Nonpaged Pool(비페이지 풀) 메모리 누수 확인

  • RAMMap에서 **"Nonpaged Pool"**이 과도하게 높다면, 특정 드라이버가 메모리를 과다 점유하는 경우임

💡 해결 방법

  1. 명령 프롬프트(관리자) 실행 후 다음 명령어 입력
    poolmon.exe
    
    (Windows Driver Kit 설치 필요)
  2. 메모리를 과도하게 사용하는 드라이버 확인
  3. 해당 드라이버를 최신 버전으로 업데이트

(3) 시스템 예약 메모리(Hardware Reserved) 문제

  • BIOS 설정에서 "Integrated Graphics" (내장 GPU)에 할당된 RAM이 클 경우 발생
  • Windows에서 GPU가 메모리를 공유하는 방식도 영향을 미침

💡 해결 방법

  1. BIOS에서 "UMA Frame Buffer Size" 조정 (내장 GPU 메모리 할당 줄이기)
  2. Discrete GPU 사용 시 내장 그래픽 비활성화

4. 결론 및 요약

운영체제가 사용하는 메모리는 기본 작업 관리자에서 명확히 보이지 않음
리소스 모니터(Resource Monitor)와 RAMMap을 활용하면 보다 자세한 분석 가능
Standby 메모리가 과도하면 수동 해제 가능 (RAMMap 활용)
Driver 또는 커널 메모리 사용량이 비정상적으로 높으면, 드라이버 문제일 가능성이 큼
BIOS 설정에서 하드웨어 예약 메모리를 줄이면 사용 가능한 RAM이 늘어날 수 있음

이 방법들을 활용하면, Windows에서 사라진 RAM이 어디로 가는지 쉽게 확인할 수 있습니다!

반응형