Windows 리소스 모니터로 메모리 사용 상태 확인

2026. 3. 6. 10:21·SetUp

 

 

Windows에서 메모리 사용 상태를 확인하는 방법은 여러 가지가 있다.

 

1. 작업 관리자(Task Manager)

  • 전체적인 메모리 사용량을 빠르게 확인 가능
  • 현재 사용률, 사용중 메모리, 캐시 메모리 정도만 확인 가능
  • 세부적인 메모리 상태 분석에는 부족

 

2. 성능 모니터(Performance Monitor)

  • 시스템 성능을 카운터 기반으로 장기 모니터링 가능
  • CPU, Memory, Disk 등 세부 지표 수집 가능
  • 하지만 실시간 메모리 구조를 직관적으로 보기 어려움

 

3. 리소스 모니터(Resource Monitor)

  • 프로세스 단위 메모리 사용 상태 확인 가능
  • 물리 메모리 상태(사용중, 대기, 수정됨 등) 확인 가능
  • 메모리 문제 분석 시 가장 많이 사용됨

 

 

 

 


 

리소스 모니터에서 메모리 상태 확인

 

1) 리소스 모니터 [메모리] 탭 클릭

* 리소스 모니터 실행 방법

작업 관리자 → 성능 탭 → 리소스 모니터 열기

 

또는

Win + R
resmon 입력

 

 

 

 

 


 

 

2) 메모리 상태 영역

 

 

[ 프로세스 메모리 항목 ]

 

커밋 (Commit)
작업 집합 (Working Set)
공유 가능 (Shareable)
개인 (Private)

 

 

 

1. 커밋(KB) = Commit Size = Private Bytes

Commit (Private Bytes)
    ├ RAM (Working Set Private)
    └ Page File

-  해당 프로세스가 운영체제에 할당을 요청한 메모리 크기

 

특징

  • RAM 또는 Page File 중 하나에 반드시 저장될 것이 보장됨
  • 프로세스가 독점적으로 사용하는 메모리
  • 다른 프로세스와 공유되지 않음
malloc
new
Heap
Stack

 

 

 

2. 작업 집합(KB) = Working Set

작업 집합 (Working Set)
 ├ 공유 가능 (Shareable)
 └ 개인 (Private)
 
 
 Working Set = Shareable + Private

 

- 현재 RAM에 실제로 올라와 있는 메모리를 의미

- 포함되는 것

프로그램 코드
DLL
Heap
Stack
공유 메모리

 

 

3. 공유 가능(KB) = Shareable Working Set

공유 가능 메모리는

다른 프로세스와 공유될 수 있는 Working Set 메모리

 

 

대표적인 예

DLL
공유 라이브러리
메모리 매핑 파일

 

 

4. 개인(KB) = Private Working Set

개인 메모리는

해당 프로세스만 사용하는 Working Set

 

즉

RAM에 올라온 Private Bytes

 

예

Heap
Stack
프로세스 전용 데이터

>>> 다른 프로세스는 접근하지 못한다.

 

 

 

 

< 리소스 모니터 메모리 구조 >

                Commit (Private Bytes)
                        │
                        │
        ┌───────────────┴───────────────┐
        │                               │
   RAM (Working Set)               Page File
        │
        │
   ┌────┴────┐
   │         │
Shareable   Private
(DLL)       (Heap, Stack)

 

 

 

 


 

 

 

[ 물리 메모리 ]

- 리소스 모니터 하단에는 현재 RAM이 어떤 상태로 사용되는지 표시된다.

 

 

 

  • 하드웨어 예약 (Hardware Reserved)

- 물리적인 메모리의 주소공간.

- 하드웨어 장치가 사용하는 메모리

- BIOS, GPU, PCI 장치 등이 사용

- OS에서 사용할 수 없는 메모리

 

 

  • 사용 중 (In Use)

- 현재 사용중인 메모리 페이지의 총 합계.

- 메모리가 부족해지면 사용 빈도가 낮은 페이지는 디스크로 이동(Swap Out)

 

 

  • 수정됨 (Modified)

- 데이터가 변경되었지만 아직 디스크에 저장되지 않은 메모리

RAM에서 수정됨
→ 디스크에는 아직 반영 안됨

- 이 메모리는 바로 다른 용도로 사용할 수 없고 디스크에 기록된 후 재사용 가능

 

 

  • 대기 모드 (Standby)

- 지금 당장 사용되지 않지만 캐시로 보관된 메모리.

- 요청이 있는 경우 사용되지만, 요청이 없으면 그대로 폐기되는 대기 상태를 말함.

- 파일 읽기 캐쉬나 프로그램 코드 캐쉬 등 해당

필요하면 즉시 사용 가능
여유 메모리가 부족하면
→ Standby 메모리를 먼저 회수

 

 

  • 여유(Free) 

- 어떤 용도로도 사용하지 않는 자유로운 메모리 영역.

- 어떤 프로그램도 사용하지 않는 상태이며 새로운 메모리 요청이 발생하면 가장 먼저 사용됨

- 메모리 확보 순서

1. Free
2. Standby
3. Modified
4. In Use → Swap Out

 

 

 

 


 

 

[ 그래프 영역 ]

 

  • 사용된 실제 메모리 (Used Physical Memory)

- 현재 물리 RAM에서 실제로 사용 중인 메모리.

- 사용중이라고 하는 것은 하드웨어적으로 예약이 완료된 것과 사용중, 변경이 끝난 상태를 포함한 것.

- 다음 항목을 포함

In Use
Modified
Hardware Reserved

- 그래프가 거의 가득 차 있다면 → 물리 메모리 여유가 적은 상태

 

 

  • 할당된 메모리 (Committed)

- 프로세스들이 OS에 요청한 총 메모리 크기.(물리 메모리 크기 + 페이지 파일 크기)

- 물리적인 메모리 크기를 넘으면 물리적인 메모리가 부족하게 되어 가상영역에 의한 스왑아웃이 발생

Committed = RAM + Page File

 

 

  • 페이지 폴트/초 (Page Faults/sec)

- 가상기억에 있어서의 페이지 폴트의 횟수. (페이지 폴트: 프로세스가 요청한 메모리가 현재 RAM에 없을 때 발생하는 이벤트)

- 프로세스가 필요한 메모리를 RAM에서 찾지 못했을 때 발생. 

 

- 페이지 폴트 종류

1) Soft Page Fault - 디스크 접근 없음

Standby 캐시에 존재
다른 프로세스 메모리 공유

>>> 속도 영향 거의 없음

 

2) Hard Page Fault- 디스크 접근 발생

RAM에 없음
→ Page File 또는 디스크에서 읽음

>>> 이 경우 성능 저하 발생

 

수십/sec → 정상
수백/sec → 메모리 압박
수천/sec → 심각한 메모리 부족

 

 

 

 


 

 

 

 

 

[ 메모리 부족 판단 기준 ]

다음 3가지가 동시에 나타나면 메모리 부족 가능성 높음

1. Committed 값이 RAM에 근접
2. Hard Page Fault 증가
3. Standby + Free 메모리 거의 없음

>>> 이 경우 시스템은 디스크 기반 가상 메모리를 계속 사용하게 되어 성능이 크게 저하될 수 있다.

 

 

 

중요한 포인트

Windows에서는

Free 메모리가 많다고 좋은 것이 아님

 

왜냐하면

남는 메모리는 대부분 Cache로 사용됨

 

그래서 정상적인 시스템은

Free는 적고
Standby가 많다

>>> Standby 메모리는 필요할 때 즉시 다른 프로그램이 사용할 수 있기 때문

 

 

 

'SetUp' 카테고리의 다른 글

성능 수집기로 프로세스 메모리 사용량 기록하기  (0) 2026.03.03
Visual Studio 단축키  (0) 2026.01.22
OutLook 이메일 생성  (0) 2026.01.13
git 사용자 정보 등록  (0) 2026.01.13
[Win] Git 설치 및 환경설정  (0) 2026.01.13
'SetUp' 카테고리의 다른 글
  • 성능 수집기로 프로세스 메모리 사용량 기록하기
  • Visual Studio 단축키
  • OutLook 이메일 생성
  • git 사용자 정보 등록
yz1005
yz1005
.
  • yz1005
    Note
    yz1005
    • 분류 전체보기 (182)
      • SetUp (10)
      • 학습일지 (105)
        • Python (5)
        • C (11)
        • C++ (16)
        • C# (28)
        • DB (2)
        • TCP_Socket (4)
        • Qt (8)
        • Arduino (19)
        • Git GitHub (4)
        • 딥러닝 (4)
      • 프로젝트 (31)
        • 팀 (22)
        • 개인 (5)
        • 회사 (4)
      • 과제 (31)
      • 취업 (1)
  • 블로그 메뉴

    • 홈
    • 방명록
  • hELLO· Designed By정상우.v4.10.3
yz1005
Windows 리소스 모니터로 메모리 사용 상태 확인
상단으로

티스토리툴바