본문 바로가기
OS/Windows

Windows 가상 메모리 설정 방법

by Dev_카페인 2024. 2. 7.
반응형

[Windows] 가상 메모리 설정 방법

 

시스템 설정에서 가상 메모리 크기를 늘려준다.

 

설정 -> 시스템 -> 정보 -> 고급 시스템 설정 ->

(시스템속성)고급 -> (성능)설정 ->

(성능 옵션) 고급 -> (가상 메모리) 변경 ->

(가상 메모리) 드라이브 선택 -> 사용자 지정 크기 -> 처음 크기와 최대 크기 설정 -> 확인

 

처음 크기 추천 : 설치된 RAM 크기(32GB) * 1024(1GB = 1024MB)

최대 크기 추천 : 설치된 RAM 크기(32GB) * 1024(1GB = 1024MB) * (1.5 ~ 3)

 

설치된 RAM 

1GB = 1024MB

2GB = 2048MB

4GB = 4096MB

8GB = 8192MB

16GB = 16384MB

32GB = 32768MB

64GB = 65536MB

 

일반적으로 애플리케이션이 실행될 때 애플리케이션이 필요로 하는 모든 메모리를 주 기억 장치에서 할당해주지 않는다. 메모리에 프로세스 전체가 올라가지 않더라도 실행이 가능하기 때문에, 필요한 부분만 메모리에 올리고 나머지 부분은 보조 기억 장치에 올려 놓고 필요할 때 메모리로 가져간다.

이때 애플리케이션이 올라간 빠른 주 기억 장치의 일부분과, 당장 메모리에 올릴 필요 없는 애플리케이션의 나머지를 저장한 보조 기억 장치의 공간을 마치 하나인 것처럼 동작하게 만든 것이 '가상 메모리'이다. 이러한 가상 메모리가 만들어지기 위해선 특수 메모리 관리 하드웨어가 필요하고, 이것이 MMU(Memory Management Unit)다.

각 가상 메모리는 가상 주소를 가지게 되고, 이는 물리 주소로 변환되어야 CPU에서 접근이 가능하다. 하지만 메모리를 일일이 가상 주소에서 물리적 주소로 번역하게 되면 부하가 너무 높아져 RAM을 여러 부분(페이지, Pages)으로 나누어 각 페이지를 하나의 독립된 항목으로 처리한다. 페이지를 나누는 과정을 페이징(Paging)이라 하고, 이러한 페이징과 주소 번역 정보를 기억하는 작업이 가상 메모리를 구현하는 데 있어 매우 중요한 절차이다.

이러한 가상 메모리 구현을 효율적으로 처리하기 위해선 작업량을 줄여야 할 것이고, 가장 대표적인 방법은 페이지 수를 줄여 주소 번역 작업 자체를 줄이는 것이다. 따라서 페이지 크기를 늘려 번역할 페이지 수를 줄이는 작업은 큰 도움이 된다.

 

- 페이지의 크기를 정할 때 고려하는 요소
1. page-in, page-out 시간: 페이지가 클수록 한 번에 많은 정보를 읽어오기 때문에 I/O 시간이 단축된다고 볼 수 있음
2. page table size: 페이지가 작을수록 페이지 테이블 크기가 커져 관리가 힘듦
3. 메모리 해상도(memory resolution)/필요한 내용만 메모리에 담을 수 있는 정도: 페이지가 작을수록 해상도는 올라감
4. fragment: 페이지가 작을수록 fragment 크기가 줄어듦

 

페이지 크기에 대한 개인적인 견해

페이지 크기를 주로 2의 n승 단위로 맞춰서 설정합니다. 공간을 효율적으로 사용하기 위해 설정하는 듯 싶습니다.

64의 공간이 있을 때 페이지 크기를 10으로 설정한다면 6개의 페이지를 사용하고 4의 공간이 남기 때문에 효율적이지 않은 페이지 크기라 생각됩니다. 그러므로 페이징 크기는 주로 2의 승수로 설정하는 것이 좋습니다. 물론 이를 지키지 않고 설정하여도 무방하지만 공간의 효율성이 떨어진다는 저의 견해입니다.

반응형