시스템(Windows)

RAMMap에 대해 알아보겠습니다.

forward error correction Circle 2024. 11. 29. 08:37
반응형

Ⅰ. RAMMap이란?

 시스템 메모리 상태를 분석하고, 메모리 해제 작업을 통해 메모리 자원 관리를 최적화하는 데 매우 유용한 도구입니다.  Microsoft Sysinternals에서 제공하는 고급 메모리 분석 도구이며, Windows 시스템의 메모리 사용 상태를 매우 세밀하게 분석하고, 다양한 메모리 상태(대기 메모리, 수정된 페이지, 워킹 셋 등)를 확인할 수 있습니다. RAMMap을 사용하면, 시스템에서 메모리가 어떻게 사용되고 있는지, 어떤 부분이 차지하는지 시각적으로 파악할 수 있어, 메모리 관리나 최적화 작업에 유용합니다.

Ⅱ. RAMMap 주요 기능

 ⅰ. 메모리 사용 상태 분석

   :메모리 사용 상태를 다양한 기준으로 구분하여, 각 메모리 영역(대기, 수정된 페이지, 커밋된 메모리 등)을 시각적으로 분석합니다.
ⅱ. 메모리 해제

  : 대기 메모리, 수정된 페이지, 프로세스의 워킹 셋 등 일부 메모리를 해제하는 기능이 포함되어 있습니다.
ⅲ. 시스템 성능 최적화

  : 메모리 관리를 통해 시스템 성능을 최적화할 수 있습니다.

Ⅲ. RAMMap 주요 기능 탭

RAMMap은 여러 탭을 통해 시스템 메모리를 분석하고 관리할 수 있는 기능을 제공합니다. 

ⅰ. Use Counts (사용 횟수)

: 메모리 페이지가 얼마나 자주 사용되고 있는지에 대한 정보를 제공합니다.
ⅱ. Processes (프로세스)

: 각 프로세스가 사용하는 메모리 양과 해당 프로세스가 사용하는 페이지의 종류(코드, 데이터, 스택 등)를 보여줍니다.
ⅲ. Physical Pages (물리적 페이지)

: 실제 물리적 메모리 페이지에 대한 상세 정보를 제공하며, 각 페이지가 어떤 용도로 사용되고 있는지 분석할 수 있습니다.
ⅳ. Memory (메모리)

: 메모리 사용 상태의 전반적인 요약을 제공합니다. 여기에는 대기 메모리, 수정된 페이지, 커밋된 메모리 등이 포함됩니다.
ⅴ. Empty (비우기)

: 이 탭에서는 대기 메모리(Standby List)와 프로세스 워킹 셋을 비우는 등의 작업을 수행할 수 있습니다.
ⅵ. Stack (스택)

: 각 프로세스의 스택 사용량에 대한 정보를 제공합니다.

Ⅳ. RAMMap 사용 방법

ⅰ. RAMMap 다운로드
https://learn.microsoft.com/ko-kr/sysinternals/downloads/rammap

 

RAMMap - Sysinternals

여러 탭에서 다양한 방식으로 사용 정보를 제공하는 고급 실제 메모리 사용량 분석 유틸리티입니다.

learn.microsoft.com

다운로드 후 압축을 풀고 실행 파일을 실행하면 됩니다.
ⅱ. RAMMap 실행
: 시스템에 영향을 미치는 작업을 하므로, 관리자 권한으로 실행하는 것이 좋습니다.

Ⅴ.  RAMMap 주요 기능 사용

ⅰ. 메모리 사용량 분석
Memory 탭에서는 시스템 메모리의 다양한 현재 사용 상태를 보여줍니다. 

1) Active(활성): 현재 사용 중인 메모리입니다. 즉, 실제로 프로세스나 시스템에서 사용되고 있는 메모리
2) Standby (대기): 메모리 페이지가 사용되지 않고 있지만, 다시 사용할 수 있는 상태로 대기 중인 메모리입니다.
3) Modified (수정됨): 수정되었지만 아직 디스크에 저장되지 않은 메모리입니다.
4) Transition (전환 중): 메모리가 시스템의 다른 상태로 전환 중인 상태를 나타냅니다.
5) Zeroed (제로화됨): 새로 할당된 페이지로, 초기화된 상태입니다.
6) Free (자유): 실제로 사용되지 않는 메모리입니다.
7) Bad (손상됨): 손상된 메모리로, 이 메모리는 시스템에서 정상적으로 사용할 수 없습니다.


ⅱ. 프로세스별 메모리 사용 분석
Processes 탭에서는 각 프로세스가 사용하는 메모리의 종류와 양을 분석할 수 있습니다

1) Process (프로세스)

: 실행 중인 프로세스의 이름을 표시합니다. 예를 들어, chrome.exe, OneDrive.exe 등입니다.
2) Session (세션)

: 프로세스가 속한 세션의 ID입니다. 일반적으로 사용자 세션은 1번 세션을 사용합니다.
3) PID (프로세스 ID)

: 각 프로세스의 고유한 식별자입니다. 시스템에서 해당 프로세스를 구분하는 데 사용됩니다.
4) Private (프라이빗)

: 다른 프로세스와 공유되지 않고, 해당 프로세스만 사용하는 메모리 양입니다. 이는 해당 프로세스가 독점적으로 사용하는 메모리입니다.
5) Standby (대기)

: 현재 사용되지 않고 있지만, 다른 프로세스에서 필요할 경우 재사용할 수 있는 메모리입니다. 대기 메모리는 사용되지 않는 상태이지만, 필요 시 빠르게 할당될 수 있습니다.
6) Modified (수정됨)

: 수정된 페이지를 나타냅니다. 이 메모리는 디스크에 기록되지 않은 상태에서 변경된 데이터입니다. 나중에 디스크로 기록되기 전에 여기에 포함된 페이지는 수정된 상태로 유지됩니다.
7) Page Table (페이지 테이블)

: 페이지 테이블의 크기를 나타냅니다. 이는 시스템이 가상 메모리 주소를 물리적 주소로 변환하는 데 사용되는 메모리입니다.
8) Total (전체)

: 각 프로세스가 사용하는 전체 메모리 양을 나타냅니다. 이는 Private, Standby, Modified, Page Table 등의 모든 메모리를 합친 값입니다.

 

ⅲ. 메모리 해제
Empty 탭에서 메모리 해제를 할 수 있습니다. 여기서 제공하는 옵션들은 다음과 같습니다:

 

1) Empty Standby List: 사용되지 않지만 재사용할 수 있는 대기 메모리를 비웁니다.

2) Empty Working Set: 현재 실행 중인 프로세스의 워킹 셋을 비웁니다.

 ※  워킹 셋(Working Set): 프로세스가 실행 중에 필요한 메모리 페이지들입니다. 이 페이지들은 프로세스가 데이터를 읽거나 쓸 때, CPU가 빠르게 접근할 수 있도록 메모리에 유지됩니다.

3) Empty Modified Page List: 수정된 페이지를 비워 디스크에 기록하도록 합니다.


이 명령어들은 시스템에서 비사용 메모리를 정리하여 메모리 자원을 확보하는 데 유용하지만, 시스템 성능에 일시적인 영향을 미칠 수 있습니다.

 ※ Working Set을 비우는 작업은 성능 저하를 유발할 수 있기 때문에, 신중하게 사용해야 합니다.

Empty Working Set과 같은 명령은 시스템의 메모리에서 현재 사용 중인 데이터를 해제하여, 디스크 I/O를 발생시킬 수 있습니다. 디스크가 느리거나 시스템에 과부하가 걸릴 경우, 성능 저하가 발생할 수 있습니다.
 서버 환경에서는 신중히 사용: 서버 환경에서는 중요 프로세스에 대한 영향을 고려하여 메모리 해제 작업을 수행하는 것이 좋습니다. 서버에서 메모리 해제 작업을 자주 하는 것은 오히려 시스템 안정성을 떨어뜨릴 수 있습니다.

 

ⅳ. 물리적 메모리 페이지 분석
Physical Pages 탭에서는 실제 물리적 메모리에서 각 페이지의 상태를 볼 수 있습니다. 이 정보를 통해 메모리 할당 방식과 페이지의 종류를 알 수 있으며, 특히 물리적 메모리 부족 상태를 감지할 때 유용합니다.

 

반응형