Windows에서 대용량 램 충분히 활용하기

Page content

큰 메모리를 충분히 활용하고 싶어서 여러가지 방법을 찾아봤다.

방법

가상 메모리 해제

swapfile.sys 비활성화

관리자 권한으로 실행한 PowerShell에서, (Win + X, A)

New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management -Name SwapfileControl -Value 0 -PropertyType DWORD -Force

를 실행한다.

pagefile.sys 비활성화

관리자 권한으로 실행한 cmd에서, (Win + R, cmd 입력 후 Ctrl + Shift + Enter)

wmic computersystem where name="%computername%" set AutomaticManagedPagefile=False

파일 시스템 캐싱 메모리 설정

참고: 램디스크는 비효율적이다.

관리자 권한으로 실행한 PowerShell이나 cmd에서

fsutil behavior set memoryusage 2를 실행한다.

PS C:\WINDOWS\system32> fsutil behavior set memoryusage 2
참고: 이 설정의 변경 내용을 적용하려면 다시 부팅해야 합니다.
MemoryUsage = 2

이후 재부팅.

최대 절전 모드 비활성화

최대 절전모든는 성능에 큰 영향을 미치진 않지만, 최대 절전 모드에 사용되는 C:\\hyberfile.sys 파일의 크기가 램의 용량과 같기 때문에 비활성화했다.

관리자 권한으로 실행한 PowerShell이나 cmd에서,

powercfg -h off

를 실행한다.

결과

속도

IntelliJ 인덱싱이 눈에 띄게 빨라졌다. 이것 때문에 램 8기가짜리 노트북에도 이 글에 나온 모든 방법을 적용했다.

메모리 사용량

딱히 늘었는지도 모르겠다. 기본값이 2가 아닌 이유가 궁금할 정도로 차이가 없다.

참고: 램디스크는 비효율적이다.

pagefile.sys는 일종의 스왑파일이고, 램디스크에 스왑 파일을 올리는 건 바보짓이다. OS는 램 모자랄 때 스왑 파일을 램 대신 사용한다.

램디스크는 램을 미리 점유하므로, 스왑 파일을 더 자주 쓰게된다. 스왑 파일이 램에 있으니까 접근 속도야 빠르겠지만, 메모리를 스왑으로 옮기는 건 OS입장에서 가벼운 작업이 아니다.