태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.


2009. 7. 21. 17:52

램디스크를 이용한 버려지는 메모리 활용

PC 구매시 메모리 값이 차지하는 비중이 상대적으로 많이 줄어든 요즘 4GB 정도는 기본이고 그 이상의 메모리를 장착하는 분들도 많습니다. PC 활용의 대다수를 차지하는 웹서핑이나 오피스 문서 작업 정도에는 2GB만으로도 충분한 상황이지만 저렴해진 메모리 값으로 인해 4GB는 부담없이 장착할 수 있는 용량입니다.

그런데 OS인 윈도우를 설치하면 4GB가 아닌 3GB 내외로 인식합니다. 물론 64비트 버전을 설치하면 4GB로 정상 인식하지만 대다수의 사용자들이 쓰고 있는 32비트 버전에서는 OS의 설계상 3.25GB 정도가 최대치입니다. 메인보드나 바이오스 설정에 따라 이 값은 달라지는데 위의 캡춰 화면에서는 제가 회사에서 사용중인 ASUS M4A78-EM/1394 메인보드에서 바이오스 기본값 설정일 때를 보여주고 있습니다. (참고로 4GB가 장착된 다른 메인보드의 PC들을 확인해 보니 3.00GB 또는 2.96GB로 나오기도 하더군요.) 3.25GB가 최대라면 나머지 0.75GB(768MB)는 어디로 간 것일까요?

이 부분을 활용하기 위해 사용되었던 것이 램디스크였습니다. rramdisk라는 유틸리티가 최초인 것으로 기억하는데 신뢰성에 대해 의구심을 가졌던지라 그동안 사용하지 않았었습니다. 대신 SuperSpeed社의 RamDisk Plus 9.0으로 윈도우 관리 메모리(3.25GB)중 일부를 할당하여 IE의 임시 파일용으로 사용하고 있었죠. 그러다가 최근에 RamDisk Plus가 버전 10.0으로 업그레이드 됐는데 변경사항을 살펴 보니 버려지는 공간을 사용한다고 되어 있더군요!!! 그래서 바로 홈피로 달려가 시험판을 다운로드 받아 보았습니다.

설치를 마친 후 메뉴에서 메모리 정보를 살펴 보기로 했습니다.

사용 가능한 메모리가 3183MB라고 나오는군요. 여기서 아래에 'Unmanaged' 버튼을 누르면 아래와 같은 화면이 나옵니다.

Unmanaged Memory 기능이 꺼져 있는 것을 알 수 있습니다. 'Configure' 버튼을 눌러 계속 진행합니다.

'Enable use of unmanaged memory' 앞의 체크박스에 클릭하여 기능을 켭니다. 그런 다음 'OK' 버튼만 누르면 됩니다.

정상적으로 활성화가 되었다는 메시지가 나옵니다.

아까는 항목들이 'n/a'였었는데 '4096, 0, Disabled'로 값이 바뀐 것을 볼 수 있습니다. 'Close' 버튼을 누르고...

메모리 정보창으로 돌아오니 처음에 없었던 Unmanaged 항목이 768MB 추가된 것을 알 수 있습니다. 참 반갑죠? ^^

RamDisk 메인창에서 초록색 (+) 아이콘을 눌러 램디스크를 추가합니다.

새로 추가된 768MB를 모두 램디스크로 설정.

몇 단계를 기본값으로 설정하면서 넘어가면 마지막에 이 화면이 나옵니다. '마침' 버튼을 누르면 램디스크가 생성되고 포맷 같은 초기화 과정이 진행되는데 이상한 일이 생깁니다.

설정 후 전체 화면을 캡춰한 것입니다. 화면이 여기 저기 깨지고 난리가 났습니다(사진을 클릭하면 보다 큰 화면을 볼 수 있습니다). 마우스도 허연 네모 박스가 되버리고 ㅡ,.ㅡ;;; 이 상태에서 RamDisk Plus의 메모리 정보창을 다시 불러 보았습니다.

일단 Unmanaged 영역이 거의 다 소진된 것을 볼 수 있습니다. 그런데 화면이 깨지는 것을 보면 Unmanaged 영역에 비디오 칩셋의 프레임 버퍼가 맵핑되어 있는 것으로 예상됩니다. 생각지도 못했던 것인데 이런 문제가 생기는 군요. 그래서 바이오스 설정에 이와 관련된 설정이 있나 싶어 살펴 보았습니다.



프레임 버퍼에 관련된 항목을 찾다 보니 하나가 눈에 띄더군요. 기본 값이 'Above 4G'로 되어 있는 것을 'Below 4G'로 바꿔봤습니다. 그리고 저장을 한 후 리부팅.

시스템 정보에 나오는 메모리 크기를 보니 3.25GB에서 3.00GB로 줄어 들었군요. 'Below 4G' 설정을 하면 윈도우가 관리하는 메모리 영역에 프레임 버퍼를 할당한다는 것을 짐작할 수 있습니다.

변경된 환경하에서 Unmanaged 메모리 영역을 다시 Configure해 보았더니 Reserved 항목에 256이 추가되어 있군요. 이 부분이 비디오 칩의 프레임 버퍼일 것입니다.

'Above 4G' 설정에 비해 Windows-managed가 3183MB에서 2927MB로 256MB 줄어든 것을 볼 수 있습니다.

램디스크를 먼저 번과 동일한 방법으로 설정한 결과 화면도 깨지지 않고 정상적으로 동작합니다.

램디스크 설정후 Unmanaged 영역이 줄어든 것을 볼 수 있습니다. 768MB의 램디스크를 만들었는데 아직 3MB가 남아있는 것은 무슨 조환지 모르겠습니다. ㅎㅎ

IE를 실행시켜 임시 인터넷 파일을 새로 만든 램디스크로 지정합니다. 이미 이렇게 많이들 사용하시죠? ^^

메인보드의 기본값이 'Below 4G'였다면 아마도 겪지 않았을 문제를 한 번 겪고 나니 좋은 공부가 된 것 같습니다. 집에서 사용중인 기가바이트 MA78GM-US2 모델에서는 시스템 정보상에 3.00GB로 나오던데 거기선 특별한 설정 변경 없이 잘 쓸 수 있을 듯 하네요. 호환성 등의 문제로 어쩔 수 없이 32비트 OS를 써야 하는데 메모리는 많이 장착한 상태라면 램디스크가 좋은 활용처가 될 듯 합니다. 특히 OS가 관리하지 못하는 영역이다 보니 숨겨진 땅을 발견하는 기쁨이라 할 수 있겠죠. ^^

참고로 4G보다 더 큰 용량을 사용하는 분들은 4G 이상의 메모리 액세스를 위해서 설정이 필요한데 boot.ini 파일의 부팅 옵션에 '/pae'를 추가해 주는 것입니다. 아래는 boot.ini 파일의 예입니다.
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usepmtimer /pae
이는 32비트의 물리 어드레싱 영역을 확장하기 위해 사용하는 옵션인데 PAE라고 부릅니다. OS마다 최대로 사용할 수 있는 메모리 영역이 다르니 이를 확인한 후 사용하시기 바랍니다. (참고: Physical Address Extension - PAE Memory and Windows)

'컴퓨터 / IT' 카테고리의 다른 글

좌우스 우랙볼  (3) 2009.08.06
바이러스에 빠진 날  (7) 2009.08.05
램디스크를 이용한 버려지는 메모리 활용  (11) 2009.07.21
OCCT를 이용한 최대소비전력 측정  (2) 2009.07.16
당신이 컴고수라면...  (12) 2009.07.12
600배속 CF  (2) 2009.07.10
Trackback 0 Comment 11
  1. 무락 2009.07.23 00:32 address edit & del reply

    어려워 ㅡ,.ㅡ

    램디스크 잡아서....임시파일로 해보긴 했습니다만.....그다지....

    제가 해보고 싶은건,
    페이지파일을 아예 없애던가...아니 이걸 램부분으로 옮기는 겁니다.
    혹시 좋은 방법 아세요?

    • Favicon of https://drivingfeel.net BlogIcon 드라이빙필 2009.07.23 11:49 신고 address edit & del

      페이징 파일 없애는 건 간단합니다.
      XP라면 시스템 등록 정보 창(내 컴퓨터의 속성창 또는 제어판의 시스템 항목)에서 '고급'탭으로 들어가서
      '성능'에 있는 '설정' 버튼을 누르면 나오는 창의 하단에 '가상 메모리' 설정 '변경'버튼이 있습니다.
      거기서 해당 드라이브를 선택하고 '페이징 파일 없음'으로 하시면 됩니다. ^^

    • Favicon of https://drivingfeel.net BlogIcon 드라이빙필 2009.07.23 11:54 신고 address edit & del

      메모리가 2GB까지라면 램디스크를 사용할 필요는 없을 것 같고 3GB라면 조금 잡아서 써도 좋을 듯 하고
      4G 이상이면 32비트 OS에선 필수일 것 같고 그러네요.
      램디스크는 사실 사용한다고 꼭 좋은 것만은 아니라서 본인의 환경에 따라 테스트해 볼 필요가 있습니다.

    • 무락 2009.07.23 13:20 address edit & del

      윽!
      제가 질문을 못했어요. ㅡ,.ㅡ
      페이지 파일 없애는 방법이야 알죠.

      근데 없애고 사용해도 되냐?
      2기가 메모리 환경에서 페이지파일 설정 안하고 사용해도 되냐? 뭐..이런 뜻이였습니다.

      그러고 보니 한번도 안해봤네....
      그냥 한번 해보면 되는데... ㅎㅎ

    • Favicon of https://drivingfeel.net BlogIcon 드라이빙필 2009.07.23 16:05 신고 address edit & del

      어쩐지 너무 쉬운 질문을 하셨다 했습니다. ㅎㅎ
      저는 일부러 페이징 파일을 없애본 적이 없습니다.
      없앤다고 딱히 문제될 것도 없는데 혹시나 싶어 그냥 놔두고 쓰죠. ^^
      그런데 2GB 메모리라면 페이지 파일을 놔두시는게 좋다고 판단됩니다.
      요즘 게임들은 로딩시 2GB 쉽게 넘어가는 것들도 많으니 말이죠. ㅎㄷㄷ

  2. Favicon of https://loveyo.tistory.com BlogIcon 파워뽐뿌걸 2009.09.03 15:26 신고 address edit & del reply

    검색중에 보고 갑니다.
    램디스크 9버전대를 사용중 이고 이번에 업글하면서 램 4기가를 사용하면 나머지 부분을 사용할 수 있을까
    생각중이였는데 10에서부터 가능한거였군요!

    • Favicon of https://drivingfeel.net BlogIcon 드라이빙필 2009.09.04 12:04 신고 address edit & del

      네.. 저도 버전 10 출시된 후 변경사항 살펴 보고 어찌나 반갑던지요. ^^

  3. 실례합니다만 2009.10.30 20:28 address edit & del reply

    버전9에서도 나머지부분 사용할 수 있습니다 ;;;;
    아래 블로그 참조하세요
    http://blog.daum.net/woonsoo100/12552518

    그리고 시스템종료시 램디스크를 하드디스크에 저장하는 설정을 하게 되면
    램디스크 크기에 비례하여 종료시간이 길어지게 되니 참고하세요

  4. Favicon of http://www,winnwe.com BlogIcon Mr.Learn 2011.01.30 07:28 address edit & del reply

    안녕하세요.

    4GB에서 3.25GB를 사용할 수 있는 것은 정상입니다. 나머지 0.75GB라는 것은 하드웨어 예약으로써 장치 드라이버가 실제 메모리에 맵핑됨으로써 운영체제와 통신을 하게 되는 것이지요. msinfo32.exe를 실행하신 다음에 메모리 리소를 확인해 보시면, 맵핑된 주소 범위를 보여줍니다. 그런데 그 중에서 가장 많은 공간을 차지하는 것이 바로 그래픽 메모리 관련입니다. 보통은 256MB의 전용 메모리를 가진 그래픽 카드가 장착되어져 있다면, ...

    256MB 그래픽 전용 메모리 + Aperture size + GART(리매핑) + 기타 장치 맵핑 = 하드웨어 예약

    Windows Vista와 7부터는 24bit(트루컬러) + 8bit(투명효과) = 32비트 색상으로 에어로 테마를 사용합니다. 이와 더불어 그래픽 성능을 높히려면 Aperture size를 최대 크기로 설정하면, 다음과 같이 됩니다.

    256MB(VM) + Aperture size 256MB + 리매핑(256MB) + 기타 장치 약 5MB = 773, 773 / 1025 = 약 0.75GB
    (기타 장치는 메인보드의 내장 장치에 따라서 차이가 있지만, 대게 3M ~ 5MB 입니다.)

    4.0 GB - 0.75 GB = 3.25GB, 설치된 램 4GB(사용할 수 있는 메모리 3.25GB)는 정상적입니다. 이러한 하드웨어 예약 공간을 제외하고 보고되던 것이 Vista 서비스팩 1 부터는 '설치된 램 4GB(사용할 수 있는 메모리 3.25GB)'로 변경되었지요. 단순하게 시스템 등록 정보에서 3.25GB를 사용자들이 Windows는 4GB를 인식을 못한다느니 또는 구멍이 있더느니 하지만, 기술적으로 올바른 정보가 아닙니다. 사용할 수 있는 메모리는 하드웨어 예약이 제외되기 때문이지요. 자동차로 말하자면 엔진룸인데, 엔진을 제거하고 사람을 더 태우면 자동차는 운행할 수가 없겠지요.

    Windows XP의 경우는 24비트 색상을 구현하기 때문에 실질적으로 Aperture size + GART(리매핑)가 Vista나 7 보다는 작아도 됩니다. 그러나 인텔에서는 최소한 64MB를 유지하라고 합니다. 이보다 더 작게 설정을 하게 되면, 아예 Windows가 저해상도가 되버립니다. BIOS에서 64MB로 설정한다면

    256 + 64 + 64 + 5 = 389, 389 / 1024 = 약 0.38GB 최소한 0.38의 하드웨어 예약이 됩니다. 그러나 Windows 해상도에 따라서는 128MB 정도가 필요하다면, 256 + 128 + 128 + 5 = 517, 517 / 1024 = 약 0.50GB를 소모합니다. 그래서 4GB 램을 장착하면, 3.5GB 정도만을 사용할 수 있다고 흔히 얘기하지요. 그러나 0.5GB는 비어있거나 구멍이 있는 것이 아닌 하드웨어예약에 해당합니다. 그런 것을 가지고, Windows에 대한 기술적인 배경 지식이 준비되지 않는 분들이 자꾸만 0.5GB의 하드웨어 예약에 무엇인가를 하려고 하지요. 간혹 BIOS 설정을 잘못하거나 미숙해서 0.5GB의 이상의 불필요한 공간이 예약되어져 있다면, 그러한 공간은 램디스크로 이용이 가능합니다만, 오히려 램디스크로 잡히는 것이 비정상적인 경우라고 할 수 있습니다.

    Estimated total memory available라는 것은 이정도의 용량이라고 추정하는 것이지 절대적으로 WIndows가 반드시 램디스크 플러스가 추정한 대로 사용한다고 보시면 안됩니다. BIOS에서 4GB로 보고가 되어졌고, Windows가 대략 2.9GB를 관리할 것이라고 추정을 하는 것입니다. 램디스크 스피드가 추정해서 보고하는 용량을 신뢰하신 다면야 제가 관여할 바가 못되지만, Windows 기술 문서 그리고 XP에서 보다 발전된 VIsta, 7의 최신 기술을 파악해 보시면, 램디스크 플러스가 보고하는 용량은 부정확하다는 것을 알 수 있을 것입니다. 기술적 배경지식이 없이는 확대해석하기가 쉽상입니다.

    램디스크 플러스가 일정한 용량을 잡았다고 하더라고 하드웨어 예약 공간이 불필요한 공간이 없다면, 사용할 수 있는 메모리가 사용됩니다. 램디스크를 사용하니까 시스템이 이상 현상을 발생한다거나 메모리 용량이 맞지가 않는다고 말씀하시는 분들이 계십니다. 이상이 있는 것이 정상이고, 오히려 이상이 없는 경우가 비정상적인 경우지요. 왜냐하면 BIOS에서 불필요한 공간을 잡아놓고 램디스크로 잡기 때문입니다.

    Vista와 7부터는 동적 기술이 사용되어 리소스들을 상황에 맞게 적절하게 사용합니다. 그래픽 처리 성능을 위해서 필요할 경우 시스템 메모리를 추가적으로 사용하고, 필요하지 않을 경우 다시 반환하는 기술도 사용되며, 캐쉬 기술 역시 보다 향상되었습니다. 이러한 기술이 적용이 되려면, 현재 사용하지 않는 메모리 용량이 있어야 합니다. 예를 들어 4GB에서 2GB가 현재 어플리케이션이 사용하고 있다면, 나머지 2GB는 놀고 있는 메모리가 아닙니다. Windows의 메모리 관리자 의해서 관리되고 있는 것이지요. 놀고 있는 메모리라고 하면서 나머지 2GB에 무엇인가를 하게 되면, Windowsm의 메모리 기술이 적용될 수가 없는 것이지요. 물론 시스템에 따라서는 Windows의 메모리 기술 보다는 유틸리티가 효과적인 경우가 있긴 있습니다. 그러한 것은 사용자가 직접 판단을 해야 합니다.

    시간 나시면 제가 업로드한 동영상을 한 번 보세요.^^
    https://www.youtube.com/watch?v=Ly3qxn6MBr4

    캐쉬가 어떻게 동작되는지 아래 동영상을 보세요.^^
    https://www.youtube.com/watch?v=oUlbuEmOzN0

  5. Favicon of http://www,winnwe.com BlogIcon Mr.Learn 2011.01.30 07:49 address edit & del reply

    아 참, 그리고 Frame buffer라는 것은 외장형 그래픽 카드의 전용 메모리와 같은 것입니다. 만약 주인장님의 경우에 메인보드 내장 그래픽 즉, 통합형 그래픽 카드라고 한다면, Frame buffer의 크기는 곧 그래픽 전용 메모리가 됩니다.

    통합현 그래픽 카드와 관계없이 32비트 Windows 클라이언트 모든 버전은 0x00000000 에서 0xFFFFFFFE까지 실제 메모리에 접근할 수 있습니다. 이것이 곧 2^32 = 40.96MB, 4GB의 한계입니다. 그리고 32비트에서는 Frame buffer는 모두 4GB 이내에 자리하므로 blow 4GB가 되는 것이지요. 그러므로 Frame buffer 만큼이 실제 메모리를 소비하는 것입니다. 이것이 곳 그래픽 카드 맵핑이고 하드웨어 예약에 들어갑니다. 만약 메인보드가 4GB를 초과하는 램을 탑재할 수 있는 보드라면,Frame buffer의 위치를 above 4GB로 사용해도 되겠지요. 그러나 32비트에서는 사용될 수가 없고, 64비트에서 4GB를 초과하는 경우에 해당합니다.

    마지막으로 Windows GUI로 보고되는 메모리 용량을 Windows가 인식을 하는 것이 아니고, OEM 드라이버들이 제공하는 정보를 통해서 보고를 해주는 것입니다. 4GB를 인식하느냐 안하느냐라고 하는 자체가 어불성설이라고 할 수 있습니다. 또 하드웨어에 따라서 정확히 보고가 되는 경우가 있고, 제대로 보고가 안되고 엉뚱하게 보고가 되는 경우도 있습니다. 많은 사용자들이 단지 눈에 보이는 것만을 가지고 갑론을박을 하는데, 제가 경험을 해보니까 메모리라는 것이 쉽게 언급될 수 있는 것이 아니더군요.

    하드웨어 유통 하시는 분들 그리고 지식 서비스 등에 보면, 제대로 Windows의 메커니즘이나 내부 기술에 대해서 스터디를 하고 답변하는 사람을 찾기가 힘들 정도로 엉텅리 답변이 많습니다.

    좋은 하루 되십시오.

    • Favicon of https://drivingfeel.net BlogIcon 드라이빙필 2011.01.30 11:43 신고 address edit & del

      안녕하세요. 배우기님. ^^
      자세하고 명쾌한 댓글을 달아 주셔서 감사합니다.
      제가 어설프게 알고 있던 부분들이 많군요.