트랙백 :
32bit Windows의 관리 외 영역을 RAM disk로 활용하는 방법반도체 기술의 발전으로 메모리 가격은 많이 저렴해졌습니다. 1990년 중반에는 1MB당 3~5만원 정도 했었는데 지금은 1MB당 22.5원(삼성 1GB PC2-5300 DDR2 기준)으로 매우매우 저렴해졌습니다. 따라서 조금 여유가 있으면 얼마든지 메모리를 많이 확보할 수 있습니다. 하지만 32Bit MS Windows XP/Vista는 아무리 많은 메모리를 확보하더라도 3GB 까지만 사용할 수 있습니다. MS의 문서인 '
4GB의 RAM이 설치되어 있는 경우 Windows Vista의 시스템 정보 대화 상자에 보고되는 시스템 메모리가 예상한 것보다 작다'에서 보듯이 4GB를 모두 사용하기 위해서는 64Bit 운영체제를 사용해야만 합니다. 따라서 3GB 이상 나머지 메모리는 아예 사용할 수 없습니다.
4GB 메모리 또는 그 이상의 메모리가 있는 MS Windows에서 사용하지 않는 메모리를 RAM Disk로 사용하는 방법이 있습니다. 기존의 RAM Disk는 Windows가 확보한 메모리 중 일부를 가상 디스크처럼 사용하기 때문에 실제 사용할 수 있는 메모리가 줄어드는 문제점이 있었습니다. 하지만 다음에 소개하는 방법은 Windows가 사용하지 않는 메모리를 RAM Disk로 사용하기 때문에 메모리를 매우 효율적으로 사용할 수 있습니다. 특히 Windows나 웹 브라우저의 임시 파일을 RAM Disk에서 저장하면 시스템의 속도도 조금이나마 빨라질 뿐만 아니라 HDD의 단편화 문제도 어느정도 해결할 수 있습니다.
Windows XP에서는 먼저 [시스템 등록 정보] → [고급] → 시작 및 복구 항목에서 [설정] 버튼을 누른 다음에 [편집] 버튼을 누르거나 메모장에서 C:\boot.ini 파일을 열어 /PAE 옵션을 추가합니다. PAE 옵션은 MS의 '
4GB RAM 조정 기능 및 PAE(실제 주소 확장) 스위치에 대한 설명' 문서를 참고하기 바랍니다.
Windows Vista에서는 [시작] → [실행]을 선택한 다음에
cmd를 실행한 후
bcdedit /set pae forceenable 를 입력합니다. VIsta에서 PAE 설정 방법은 MSDN의
Physical Address Extension 문서와
BCDEdit /set 문서를 참고하기 바랍니다.
다음으로
Gavotte Ramdisk에서
rramdisk.zip 파일을 다운 받습니다. 참고로 이 프로그램은 프리웨어입니다. 적당한 폴더에 압축을 해제한 다음에
ram4g.reg 파일을 레지스트리에 등록합니다.
ramdisk.exe 파일을 실행한 다음에 [Install Ramdisk] 버튼을 누릅니다.
다음으로 RAM Disk의 용량, 드라이브 위치, 드라이브 형태를 설정합니다. 여기에서 드라이브 형태(Media Type)는 반드시 'Fixed Media'로 설정하기 바랍니다. (기본값임) 다른 형태로 선택하면 RAM Disk가 비정상적으로 만들어 질 수 있습니다. 전 RAM Disk의 크기는 1GB로, 드라이브 위치는 Z로 설정했습니다. 설정이 끝나면 [OK]나 [Apply]를 누릅니다. 시스템 사정에 따라서 바로 RAM Disk가 적용되거나 재부팅 해야만 적용되는 경우가 있습니다.
이제 Windows의 임시 파일을 RAM Disk로 설정할 차례입니다. [시스템 등록 정보] → [고급] → [환경 변수] 버튼을 누른 다음에 사용자와 시스템 변수에서 TEMP와 TMP 변수의 값은 RAM Disk의 Temp 폴더로 입력합니다. 참고로 RAM Disk에는 기본으로 'Temp' 폴더가 생성됩니다.
이제 시스템을 재부팅하면 RamDisk가 만들어진 것과, RamDisk 안에 Temp 폴더가 있는 것을 확인할 수 있습니다.
마지막으로 웹 브라우저의 임시 폴더의 위치를 변경합니다. Mozilla FireFox는 사용자 프로필 폴더에서 prefs.js 파일에 다음 내용을 추가합니다. 여기서 주의할 점은 경로를 \\로 구분해야 합니다.
user_pref("browser.cache.disk.parent_directory", "Z:\\Temp\\Temporary Firefox Files");Windows Internet Explorer 7은 [도구] → [인터넷 옵션] → 검색 기록에서 [설정] 버튼을 누른 다음에 [폴더 이동] 버튼을 누른 후 RamDisk의 Temp 폴더를 선택합니다.
시스템 등록 정보를 보면 메모리 크기는 변하지 않았지만, Windows 작업 관리자로 보면 RAM Disk가 Windows 메모리에 할당하지 않은 것을 확인할 수 있습니다. 실제 사용자 메모를 확보하는 것이 아니지만 Windows가 사용하지 않는 메모리 영역을 RAM Disk로 사용할 수 있으며, 임시 파일을 이곳에 할당하면 보다 빠르고 쾌적하게 Windows를 사용할 수 있을 것입니다.
ps. 이 새벽에 내가 뭘 한 것이지... 빨리 논문 써야 겠다.
ps. 32Bit Windows XP/Vista는 무슨 수를 쓰더라도 3GB까지만 사용할 수 있습니다. 이 방법은 나머지 메모리를 가상 드라이브로 설정하는 방법입니다. 3GB 이상 메모리를 사용하고 싶으면 64Bit Windows XP/Vista를 설치하는지 UNIX 계열(Linux, Solaris 등)을 설치해야 합니다.
ps. bz님이 제공하신 정보로 Windows Vista에서 PAE 설정하는 방법을 추가하였습니다.
2008/11/12 추가
Windows Internet Explorer나 Fire Fox에서 램디스크 이상의 파일을 다운 받을 경우에는 TEMP와 TMP를 HDD의 임시 폴더로 지정한 다음에 재부팅해야만 다운로드가 가능합니다. 이 부분은 불편하더라도 환경 변수를 바꾸는 방법 외에는 없습니다.
PhotoShop과 같이 임시 폴더를 과도(?)하게 사용하는 프로그램을 주로 사용한다면 64bit OS로 없그레이드 하든지 아니면 램디스크를 TEMP와 TMP로 설정하지 마시기 바랍니다. 단, 5장 정도 사진 편집같이 간단한 작업은 램디스크가 더 효율적입니다.