<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows 메모리 FAQ</title><link>http://blogs.technet.com/sankim/archive/2009/05/11/faq.aspx</link><description>안녕하세요~ sankim 입니다. 최근 들어 여러 Windows 관련 커뮤니티나 블로그를 방문하면서 가장 많이 눈에 뜨이는 질문이면서도 정확한 답을 얻기 어려운 것이 Windows 메모리 관련 질문들인 것을 보았습니다. 그래서 메모리 관련해서 가장 많이 올라오는 질문들에 대해서 간단한 답을 정리해 보았습니다. 자세한 기술적 내용은 꼭 한번 시리즈(?)로 올릴 것을 약속 드립니다. ^^ Windows Memory FAQ 1. Windows에서 사용</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Windows 메모리 FAQ</title><link>http://blogs.technet.com/sankim/archive/2009/05/11/faq.aspx#3239306</link><pubDate>Tue, 12 May 2009 03:47:44 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3239306</guid><dc:creator>이상혁</dc:creator><description>&lt;p&gt; 백과장님의 꼬알라의 하얀집과 함께&lt;/p&gt;
&lt;p&gt;제가 하루에 꼬옥 한번은 들리는&lt;/p&gt;
&lt;p&gt;sankim 블로그에서 알차고 좋은 정보&lt;/p&gt;
&lt;p&gt;덕분에 마니 얻습니다.&lt;/p&gt;
&lt;p&gt;감사합니다!!~ ^^&lt;/p&gt;</description></item><item><title>re: Windows 메모리 FAQ</title><link>http://blogs.technet.com/sankim/archive/2009/05/11/faq.aspx#3239316</link><pubDate>Tue, 12 May 2009 04:05:40 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3239316</guid><dc:creator>sankim</dc:creator><description>&lt;p&gt;^^;; 감사합니다. 좋은 하루 되셔요~&lt;/p&gt;
</description></item><item><title>re: Windows 메모리 FAQ</title><link>http://blogs.technet.com/sankim/archive/2009/05/11/faq.aspx#3242667</link><pubDate>Sun, 17 May 2009 23:48:44 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3242667</guid><dc:creator>배우기(Mr.Learn)</dc:creator><description>&lt;p&gt;안녕하세요, 윈앤위의 배우기(Mr.Learn)라고 합니다.&lt;/p&gt;
&lt;p&gt;새벽에 구글 알리미도 이 포스트를 접하면서, 마이크로소프트 직원분이시기에 제의견을 적어 보려고 합니다.&lt;/p&gt;
&lt;p&gt;2. XP, Vista와 같은 32-bit Windows Client에서 4GB 이상 메모리를 사용할 수 있는 방법은 없나요?&lt;/p&gt;
&lt;p&gt;조금 넓은 의미로로는 Windows 클라이언트 4GB이상을 사용할 수 있지요. 왜냐하면 SuperSpeed사의 RamDisk Plus 제품을 이용해서 Unmanagement Memory(UM)를 이용하시는 것입니다. UM기능은 PAE enabled를 전제로 하는 기능인데, 이것을 통해서 사용자들이 4GB에서 4GB를 모두 사용한다는 잘못된 인식을 하고 있더군요. 더구나 SuperSpeed사는 마이크로소프트 파트너사로 등록되어져 있더군요.^^&lt;/p&gt;
&lt;p&gt;3. Windows Client에서 메모리 4GB를 설치 했는데 Windows에서 4GB로 보이지 않고 3.xxGB로 보여요&lt;/p&gt;
&lt;p&gt;MMIO만큼 실제 메모리가 밀려난다라는 표현을 하셨는데, MS 제가 기술 문서를 보니까 그래픽 메모리가 실제메로리를 겹쳐친다고 표현하더군요. 이것은 device mapping봐야겠지요. 밀려난다라는 표현은 좀 이상한 듯 합니다. 더불어 BIOS애서 aperture size를 어떻게 설정하는냐 따라서 또한 haredware reserved 공간의 변동이 생깁니다. 4GB주소 공간에서 전용 그래픽 메모리의 온보드 메모리만큼 맵핑이 되고 aperture block이 잡혀면서 또다시 실제 메모리를 감소시킵니다. 그런데 aperture block으로만 끝나는 것이 아닌 aperture block 만큼이 또다시 rempped되기 때문에 64MB의 aperture memory를 잡게되면 실제로는 2배가 되어서 실제 메모리의 128MB를 감소시킵니다. 따라서 전용 그래픽 메모리(로컬)를 가지는 어답터의 경우 온보드 메모리 + aperture memory + aperuture remapped가 합쳐져서 결과적으로 실제 메모리(비로컬)를 상단 부분 감소를 시키게 됩니다. 그리고 이것이 부트시 POST에서 표기하는 메모리량입니다. bios allocation의한 것이기 때문에 실제적으로 Windows하고는 관련이 없지요. 그러나 Windows 7에 오면서 bios allocation에 소비되는 것이 리소스 모니터의 비쥬얼 메모리맵으로 보여줌으로써 많은 사용자들이 그나마 이해를 할 수 있다는 생각입니다.&lt;/p&gt;
&lt;p&gt;4. Windows Vista SP1(Service Pack 1)을 설치 하니 3.xxGB 보이던 메모리가 4GB로 나타납니다.&lt;/p&gt;
&lt;p&gt;비스타 서비스팩1 이전의 Windows는 bois allocation에 의한 하드웨어 예약 공간을 제외해서 메모리 보고를 하기 때문에 사용자들이 4GB를 인식을 못한다는 오해를 합니다. 그러나 비스타 1부터는 하드웨어 예약공간을 포함을 해서 installed mamemery로 보여주고 있지요. 실제로 시스템 등록정보상에서는 설치된 메모리를 보여줍니다. Windows 7도 마찬가지인데, 4GB라면 4GB의 installed memory와 함께 괄호()를 치고 하드웨어 예약 공간이 제외된 용량도 보여주더군요. 그리고 비스타 부터는 WDDM APIs에 의해서 winsat.exe와 같은 도구를 이용하는 문제를 언급하셔야 마땅하다 생각이 됩니다. Windows가 시작되기 전에는 bios allocation 문제를 언급하셔야하고 일단 Windows가 시작이 된 상태라면 driver allocation으로 설명이 되어야 할 문제라고 봅니다.&lt;/p&gt;
&lt;p&gt;*** 그리고 개인적으로 이해할 수 없는 문제가 Windows 클라이언트가 공식적으로 4GB인데, 왜 PAE커널은 싱글 코어용과 다중 코어용을 제공하는지 모르겠습니다. XP경우도 PAE 활성이 가능해서 시스템 등록정보상에도 표기가 되는 문제도 그렇습니다.&lt;/p&gt;</description></item><item><title>re: Windows 메모리 FAQ</title><link>http://blogs.technet.com/sankim/archive/2009/05/11/faq.aspx#3242718</link><pubDate>Mon, 18 May 2009 08:09:41 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3242718</guid><dc:creator>sankim</dc:creator><description>&lt;p&gt;안녕하세요? sankim 입니다.&lt;/p&gt;
&lt;p&gt;배우기님 블로그에 아주 아프게 글을 쓰셨더군요, 댓글이 바로 올라가지 않아 기분이 상하셨던 것 같습니다.&lt;/p&gt;
&lt;p&gt;제 블로그는 댓글 승인제이기 때문에 제가 확인한 뒤에 댓글을 승인해야 댓글이 올라가게 되어있습니다, 글은 일요일 새벽에 올리신 것 같은데 제가 주말은 온라인에서 멀어지는 터라(아기도 보고 빨래도 하고.. ^^) 확인할 수 없었습니다. &lt;/p&gt;
&lt;p&gt;댓글을 관리자 승인제로 한 이유는 하루에도 5~10개 정도 '빌라 팔아 드립니다'에서부터 낮뜨거운 상업적 댓글이 올라옵니다. 한/영/혹은 다국어를 포함해서 일주일 방치하면 한 50개 이상이 올라와 있더군요, 항상 지켜보면서 삭제하기 어려운 관계로 댓글 승인제로 설정 하였습니다. 상업적인 내용이 아니면 모두 댓글이 올라올 수 있도록 합니다.&lt;/p&gt;
&lt;p&gt;저도 개인이기에 그런 글을 올리시기 전에 조금 기다려 주셨으면 좋지 않았을까라는 아쉬움이 있습니다만 오해라는 것은 언제나 있을 수 있는 것이고 풀 수 있다는 생각으로 좋게 생각하고 있습니다.&lt;/p&gt;
&lt;p&gt;[올려주신 글에 대한 답변입니다]&lt;/p&gt;
&lt;p&gt;1. 기본 디자인으로 윈도우 클라이언트의 Kernel이 실제 4GB이상 Memory Access할 수 없습니다. Windows 고유 Memory addressing을 적은 글임을 알려드립니다. 넓은 의미에서 3'rd Party 제품으로 인한 확장을 언급하신 의견 감사합니다.&lt;/p&gt;
&lt;p&gt;2. Device Memory(MMIO)가 밀어 냈다는 것은 정확한 의미 입니다.&lt;/p&gt;
&lt;p&gt;/아래 그림 참조해 주십시오/&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.technet.com/blogfiles/markrussinovich/WindowsLiveWriter/PushingtheLimitsofWindowsPhysicalMemory_878B/image_10.png"&gt;http://blogs.technet.com/blogfiles/markrussinovich/WindowsLiveWriter/PushingtheLimitsofWindowsPhysicalMemory_878B/image_10.png&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;3. 4번에 대한 의견 감사합니다 그러나 읽으시는 분들이 간단히 이해하시도록 하기 위한 FAQ인데 너무 많은 것을 적으면 도리어 혼란을 드리지 않을까 생각해 봅니다, 다음에 기회 있으면 조금 자세히 적어 보도록 하겠습니다. (말씀하신 예제는 어떤 의도이신지 잘 이해가 가지 않습니다만 의견 감사합니다)&lt;/p&gt;
&lt;p&gt;아마 위 답변에 대해서 자세한 설명이 필요하실 것 같아서 아래 링크를 알려드립니다, 제가 올린 글과 위 1,2,3 답변에 대한 배경이 잘 나와 있습니다. 이해에 도움되시기 바랍니다.&lt;/p&gt;
&lt;p&gt;Pushing the Limits of Windows: Physical Memory&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.technet.com/markrussinovich/archive/2008/07/21/3092070.aspx"&gt;http://blogs.technet.com/markrussinovich/archive/2008/07/21/3092070.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;좋은 하루 되십시오.&lt;/p&gt;
&lt;p&gt;감사합니다.&lt;/p&gt;
</description></item><item><title>re: Windows 메모리 FAQ</title><link>http://blogs.technet.com/sankim/archive/2009/05/11/faq.aspx#3243161</link><pubDate>Tue, 19 May 2009 15:42:52 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3243161</guid><dc:creator>듣보잡이기가막혀</dc:creator><description>&lt;p&gt;이사람 sankim님이 쓴 글이 틀려서 자기 댓글을 못올라오게했다고 착각하나 보네요. 정말 한참웃었어요. sankim님이 올린 답변을 보고 제대로 이해했다면 당장 쥐구멍이라도 찾아야 할것 같네요.&lt;/p&gt;</description></item><item><title>re: Windows 메모리 FAQ</title><link>http://blogs.technet.com/sankim/archive/2009/05/11/faq.aspx#3244054</link><pubDate>Thu, 21 May 2009 11:43:03 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3244054</guid><dc:creator>sankim</dc:creator><description>&lt;p&gt;영**님 응원의 말씀 감사드립니다. 표현 일부가 특정인에게 감정적으로 받아들여 질 수 있어 댓글은 승인하지 않았습니다. 이점 이해해주십니다 m(__)m. 즐거운 하루되세요~ :)&lt;/p&gt;
</description></item><item><title>re: Windows 메모리 FAQ</title><link>http://blogs.technet.com/sankim/archive/2009/05/11/faq.aspx#3244055</link><pubDate>Thu, 21 May 2009 11:44:21 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3244055</guid><dc:creator>sankim</dc:creator><description>&lt;p&gt;배우기님의 의견과 질문에 답이 될것입니다, 이번에 새로 포스팅한 아래 글을 읽어 주십시오.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.technet.com/sankim/archive/2009/05/21/4gb-32-windows.aspx"&gt;http://blogs.technet.com/sankim/archive/2009/05/21/4gb-32-windows.aspx&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: Windows 메모리 FAQ</title><link>http://blogs.technet.com/sankim/archive/2009/05/11/faq.aspx#3248108</link><pubDate>Sat, 30 May 2009 17:32:39 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3248108</guid><dc:creator>Attori</dc:creator><description>&lt;p&gt;윈앤위님 지금까지 없었던 새로운 H/W와 OS를 창조해 내셨음.&lt;/p&gt;</description></item><item><title>re: Windows 메모리 FAQ</title><link>http://blogs.technet.com/sankim/archive/2009/05/11/faq.aspx#3274496</link><pubDate>Tue, 18 Aug 2009 08:31:25 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3274496</guid><dc:creator>허허.. 참.. </dc:creator><description>&lt;p&gt;허허.. 참.. 어의 없네요..&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.ebuzz.co.kr/content/buzz_view.html?ps_ccid=80663"&gt;http://www.ebuzz.co.kr/content/buzz_view.html?ps_ccid=80663&lt;/a&gt;&lt;/p&gt;</description></item><item><title>re: Windows 메모리 FAQ</title><link>http://blogs.technet.com/sankim/archive/2009/05/11/faq.aspx#3274535</link><pubDate>Tue, 18 Aug 2009 10:26:18 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3274535</guid><dc:creator>sankim</dc:creator><description>&lt;p&gt;제 글과 비슷하다는 의미시지요? 기술 이야기는 비슷할 수도 있다고 생각합니다... 저도 Mark Rusinovich의 글을 뼈대로 했으므로 나쁘게 생각하지는 않습니다만 몇가지 오류가 눈에 걸리네요.&lt;/p&gt;
&lt;p&gt;그중에 가장 큰것이 글쓰신 분께서 Virtual Address와 Physical Address를 혼돈하고 계신듯 합니다, 둘은 전혀 다른 의미 입니다. virtual Address는 Process가 사용하기 위한 가상의 메모리 공간을 이야기 하고 Physical Address는 시스템에서 사용하는 실제 메모리 공간(칩셋이 알려준)을 의미 합니다. Virtual Address와 Physical Address를 혼돈한다면 상당히 어렵습니다.&lt;/p&gt;
&lt;p&gt;그리고 4GB 전체 사용하지 못하는 이슈에 영향을 끼치는 디바이스 요인으로 MMIO 뿐만 아니라 System BIOS, Motherboard Resources (I/OxAPIC), Memory Mapped I/O, PCI Express* Configuration Space, Additional PCI Device Memory (Graphics Aperture), VGA Memory등이 있습니다.&lt;/p&gt;
&lt;p&gt;이 포스팅을 쓸때 더 자세한걸 쓰려다가 너무 깊어질것 같아 이 정도(?)까지 썼는데 나중에 시간 나면 이부분도 더 소개해 드리도록 하겠습니다. :)&lt;/p&gt;
&lt;p&gt;그리고 /userva는 Exchange Server와 같이 이 옵션을 Aware하는 어플리케이션에서 적용 해야 합니다. 그렇지 않은 경우에는 의미가 없으며, 메모리에 민감(?)한 응용프로그램은 동작자체를 하지 못하는 경우가 있을 수 있습니다(이 일로 Troubleshooting을 한 경험이 있습니다) 또한 /3GB로 인해 PTE Leak 이슈가 나타날 수 있습니다, 해당 글에서 언급한 ‘/3GB /userva' 옵션을 사용해도 문제는 마찬가지 입니다.&lt;/p&gt;
&lt;p&gt;이 이슈를 정확히 이해하려면 Windows Kernel 뿐만 아니라 Processor도 이해하고 있어야 합니다. 이 이슈를 자꾸 하드웨어의 여러 기술에 접합시켜 이해하려면 더 복잡해지고 엉뚱한 답이 나올수 있으므로 지양해야 합니다.&lt;/p&gt;
</description></item><item><title>re: Windows 메모리 FAQ</title><link>http://blogs.technet.com/sankim/archive/2009/05/11/faq.aspx#3274839</link><pubDate>Wed, 19 Aug 2009 04:27:42 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3274839</guid><dc:creator>sankim</dc:creator><description>&lt;p&gt;어제 저녁에 읽어 보고 링크의 글 내용중 몇가지에 대해서..&lt;/p&gt;
&lt;p&gt;'이 기술을 적용하면 32비트 윈도의 메모리 한계를 최대 64GB까지 확장한다.'&lt;/p&gt;
&lt;p&gt;=&amp;gt; 정확하게는 32비트 Addressing을 36비트로 변환하여 64GB까지 액세스 메모리 영역을 확장합니다. 이 구조하에 Windows에서는 PTE의 Size를 확장하여 64GB Physical Memory에 액세스가 가능하도록 구현합니다.&lt;/p&gt;
&lt;p&gt;'4GB란 용량은 앞서 말한 것처럼 물리 메모리가 아니라 주소 공간을 뜻한다. 이 4GB의 가상 공간을 2개로 쪼개 2GB는 커널 모드, 나머지 2GB를 유저 모드에 할당한다.'&lt;/p&gt;
&lt;p&gt;=&amp;gt; &amp;nbsp;여기서 주소 공간이 바로 앞에서 설명 드린 Virtual Address Space 입니다.&lt;/p&gt;
&lt;p&gt;'꼼수를 이용해 4GB 이상의 메모리를 쓴다?'&lt;/p&gt;
&lt;p&gt;=&amp;gt; PE모드에서 변경했다는 것 같은데.. 정확히 이부분은 어떻게 한것인지 궁금하네요, 방법을 아시는분 계시면 저에게 알려주시면 감사하겠습니다.&lt;/p&gt;
&lt;p&gt;**그리고 이 포스트를 쓸 때 MMIO가 할당 되는 부분은 써야 할지 말아야 할지 고민했었습니만 이 부분은 하드웨어(정확히 말하면 Chipset)에서 다뤄야 할 사항이므로 자세한 내용 설명 없이 넘어갔었습니다(이것까지 쓰면 참 길어지죠). 혹시 이 부분을 확인 하기 위해 몇 대 컴퓨터에서 테스트 하시는 분들이 계시다면(왜곡 될수 있는 답을 얻을 가능성 높음) 그것 보다는 Intel Processor Manual을 구해 보시기를 추천해 드립니다, 이 모든 구조가 바로 Processor와 Chipset과 관련이 있습니다. 참고로 Intel Manual은 Intel 홈페이지에서 무료로 PDF로 제공 됩니다, 얼마전까지 책을 무료로 배송해 줬던걸로 아는데 어딘지 기억이.. . ^^;&lt;/p&gt;
</description></item><item><title>re: Windows 메모리 FAQ</title><link>http://blogs.technet.com/sankim/archive/2009/05/11/faq.aspx#3276612</link><pubDate>Tue, 25 Aug 2009 10:57:17 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3276612</guid><dc:creator>sankim</dc:creator><description>&lt;p&gt;아.. 허허.. 위에 PC사랑에 기사가 그 배우기란 분께서 쓰신 건가 보죠? 제 블로그 관심있게 보고 계시는것 같아 감사하네요.&lt;/p&gt;
</description></item></channel></rss>