이 부분을 활용하기 위해 사용되었던 것이 램디스크였습니다. rramdisk라는 유틸리티가 최초인 것으로 기억하는데 신뢰성에 대해 의구심을 가졌던지라 그동안 사용하지 않았었습니다. 대신 SuperSpeed社의 RamDisk Plus 9.0으로 윈도우 관리 메모리(3.25GB)중 일부를 할당하여 IE의 임시 파일용으로 사용하고 있었죠. 그러다가 최근에 RamDisk Plus가 버전 10.0으로 업그레이드 됐는데 변경사항을 살펴 보니 버려지는 공간을 사용한다고 되어 있더군요!!! 그래서 바로 홈피로 달려가 시험판을 다운로드 받아 보았습니다.
메인보드의 기본값이 'Below 4G'였다면 아마도 겪지 않았을 문제를 한 번 겪고 나니 좋은 공부가 된 것 같습니다. 집에서 사용중인 기가바이트 MA78GM-US2 모델에서는 시스템 정보상에 3.00GB로 나오던데 거기선 특별한 설정 변경 없이 잘 쓸 수 있을 듯 하네요. 호환성 등의 문제로 어쩔 수 없이 32비트 OS를 써야 하는데 메모리는 많이 장착한 상태라면 램디스크가 좋은 활용처가 될 듯 합니다. 특히 OS가 관리하지 못하는 영역이다 보니 숨겨진 땅을 발견하는 기쁨이라 할 수 있겠죠. ^^
참고로 4G보다 더 큰 용량을 사용하는 분들은 4G 이상의 메모리 액세스를 위해서 설정이 필요한데 boot.ini 파일의 부팅 옵션에 '/pae'를 추가해 주는 것입니다. 아래는 boot.ini 파일의 예입니다.
[boot loader]이는 32비트의 물리 어드레싱 영역을 확장하기 위해 사용하는 옵션인데 PAE라고 부릅니다. OS마다 최대로 사용할 수 있는 메모리 영역이 다르니 이를 확인한 후 사용하시기 바랍니다. (참고: Physical Address Extension - PAE Memory and Windows)
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
'컴퓨터 / 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 |
-
무락 2009.07.23 00:32
어려워 ㅡ,.ㅡ
램디스크 잡아서....임시파일로 해보긴 했습니다만.....그다지....
제가 해보고 싶은건,
페이지파일을 아예 없애던가...아니 이걸 램부분으로 옮기는 겁니다.
혹시 좋은 방법 아세요? -
파워뽐뿌걸 2009.09.03 15:26 신고
검색중에 보고 갑니다.
램디스크 9버전대를 사용중 이고 이번에 업글하면서 램 4기가를 사용하면 나머지 부분을 사용할 수 있을까
생각중이였는데 10에서부터 가능한거였군요! -
Mr.Learn 2011.01.30 07:28
안녕하세요.
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 -
Mr.Learn 2011.01.30 07:49
아 참, 그리고 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의 메커니즘이나 내부 기술에 대해서 스터디를 하고 답변하는 사람을 찾기가 힘들 정도로 엉텅리 답변이 많습니다.
좋은 하루 되십시오.