<?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>Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx</link><description>In my first Pushing the Limits of Windows post , I discussed physical memory limits, including the limits imposed by licensing, implementation, and driver compatibility. This time I’m turning my attention to another fundamental resource, virtual memory.</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156079</link><pubDate>Wed, 19 Nov 2008 05:47:54 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156079</guid><dc:creator>Matthew Reynolds</dc:creator><description>&lt;p&gt;Brilliant post Mark. Thanks for writing this.&lt;/p&gt;
&lt;p&gt;As an Active Directory guy I wanted to remind readers to beware of configuring DCs without any page file, even on DCs with lots of RAM and where the commit charge peak is low relative to the commit limit. The database engine depends on the page file per KB 889654.&lt;/p&gt;
&lt;p&gt;Cheers&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156105</link><pubDate>Wed, 19 Nov 2008 07:30:59 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156105</guid><dc:creator>Michael Sainz</dc:creator><description>&lt;p&gt;Damn&lt;/p&gt;
&lt;p&gt;Love reading your posts, keep it up!&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156147</link><pubDate>Wed, 19 Nov 2008 10:30:05 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156147</guid><dc:creator>Pavel Lebedinsky</dc:creator><description>&lt;p&gt;I was involved in choosing the default min/max sizes for system managed pagefiles in Vista, and I'm pretty sure those numbers were not just copied from some magazine :)&lt;/p&gt;
&lt;p&gt;The 1 GB minimum was chosen based on the actual commit charge observed on small machines (512 MB of RAM). The 3*RAM maximum might seem excessive on machines with lots of RAM, but remember that pagefile will only grow this large if there is actual demand. Also, running out of commit (for example, because of a leak in some app) can bring the entire system to a halt, and a higher maximum size can make the difference between a system that does not respond and has to be rebooted and a system that can be recovered by restarting a process.&lt;/p&gt;
&lt;p&gt;I will admit that scaling the maximum size linearly with the size of RAM is somewhat arbitrary. Perhaps it should have been a fixed constant instead.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156151</link><pubDate>Wed, 19 Nov 2008 10:40:22 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156151</guid><dc:creator>Hugo Peeters</dc:creator><description>&lt;p&gt;Great post (as always)! I love the amount of detail in your posts.&lt;/p&gt;
&lt;p&gt;Everyone looks at task manager and tries to draw some conclusions, but thanks to you I am starting to really understand what the numbers mean.&lt;/p&gt;
&lt;p&gt;Hugo&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156160</link><pubDate>Wed, 19 Nov 2008 11:16:36 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156160</guid><dc:creator>Pavel Lebedinsky</dc:creator><description>&lt;p&gt;A few more points:&lt;/p&gt;
&lt;p&gt;1. Reserved memory does contribute to commit charge, because the memory manager charges commit for pagetable space necessary to map the entire reserved range. On 64 bit this can be a significant number (reserving 1 TB of memory will consume approximately 2 GB of commit).&lt;/p&gt;
&lt;p&gt;2. The Private Bytes counter is named a bit misleadingly, because it includes more than just committed MEM_PRIVATE regions. It's better to think about it as the process commit charge. Besides private committed pages, it includes things like copy-on-write views and pagetable pages.&lt;/p&gt;
&lt;p&gt;3. Configuring a system with lots of RAM to run without pagefile may have either negative or positive perf impact depending on what the system is doing. The general recommendation in this case is to create a reasonably sized pagefile (for example, 4 GB) and increase it if the Paging file\% Usage counter gets close to 100%.&lt;/p&gt;
&lt;p&gt;Note that this counter is completely different from what task manager calls &amp;quot;pagefile usage&amp;quot; (which is actually the system commit charge). Paging file\% Usage of 100% would mean that some unused pagefile-backed pages are sitting on the modified page list, unnecessarily taking up RAM. If pagefile was larger, those pages could have been written to disk, resulting in more RAM available for other purposes.&lt;/p&gt;</description></item><item><title>Excellent article!</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156174</link><pubDate>Wed, 19 Nov 2008 11:47:53 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156174</guid><dc:creator>Osvaldo Tabasco</dc:creator><description>&lt;p&gt;I think I never read a more fundamental article about managing the Windows Virtual Memory. Thank you very much for this, I think many people will now be able to reasonably set the size of the Virtual Memory.&lt;/p&gt;
&lt;p&gt;&amp;quot;I guess whoever wrote that code got their guidance from one of those magazines I mentioned!&amp;quot; made me giggle! :-)&lt;/p&gt;</description></item><item><title>Multiple page files on one volume</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156242</link><pubDate>Wed, 19 Nov 2008 14:46:59 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156242</guid><dc:creator>David Rawling</dc:creator><description>&lt;p&gt;It's worth noting that previous Windows versions (as late as Windows 2000) permitted the creation of multiple page files on a single volume with a registry edit.&lt;/p&gt;
&lt;p&gt;This was primarily used when the formal recommendation from Microsoft was for 1.5x RAM (Exchange Server anyone?) and the system had more than 4GB of RAM. Using the &amp;quot;one page per volume&amp;quot; strategy required 2 or more drive letters.&lt;/p&gt;
&lt;p&gt;Instead, each pagefile could be 4GB and placed in a separate directory.&lt;/p&gt;
&lt;p&gt;I think it was &amp;quot;HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\Pagingfiles&amp;quot; but my memory is not perfect.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156281</link><pubDate>Wed, 19 Nov 2008 15:57:40 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156281</guid><dc:creator>robad</dc:creator><description>&lt;p&gt;nice one! &lt;/p&gt;
&lt;p&gt;but what do i do with the pagefile on a 64 bit server 2003 system with 32gb ram, with a memory-intensive application? ... let's call the apllication ... exchange 2k7 :-)&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156444</link><pubDate>Wed, 19 Nov 2008 19:48:56 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156444</guid><dc:creator>TekGems</dc:creator><description>&lt;p&gt;I just bought a Gigabyte i-RAM RAM DISK to put my &amp;quot;virtual memory&amp;quot; on a RAM DISK. I didn't realize accessing virtual memory is application specific, so this is great information! Thank you.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156451</link><pubDate>Wed, 19 Nov 2008 19:56:55 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156451</guid><dc:creator>o.s.</dc:creator><description>&lt;p&gt;&amp;quot;To take advantage of the address space above the 2GB line, however, a process must have the ‘large address space aware’ flag set in its executable image.&amp;quot; &lt;/p&gt;
&lt;p&gt;Hmmm, I looked around and the closest I could find in the PE executable file format was from &lt;/p&gt;
&lt;p&gt;this:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://msdn.microsoft.com/en-us/library/ms809762.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms809762.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;quot;1. The PE Header&lt;/p&gt;
&lt;p&gt;1c. IMAGE_OPTIONAL_HEADER Fields &lt;/p&gt;
&lt;p&gt;1c-27. DWORD SizeOfHeapReserve&lt;/p&gt;
&lt;p&gt;The amount of virtual memory to reserve for the initial process heap. This heap's handle can be obtained by calling GetProcessHeap. Not all of this memory is committed (see the next field).&amp;quot; &lt;/p&gt;
&lt;p&gt;So windows uses something like the SizeOfHeapReserve field in the executable file to be able to tell whether the process should be allocated more than 2GB of virtual memory to the usermode process? Interesting post as usual Mark, I learned quite a bit. &lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156466</link><pubDate>Wed, 19 Nov 2008 20:35:04 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156466</guid><dc:creator>asf</dc:creator><description>&lt;p&gt;o.s.: no, its a bit flag in DllCharacteristics IIRC&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156472</link><pubDate>Wed, 19 Nov 2008 20:55:07 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156472</guid><dc:creator>Lester Eliasquevitch</dc:creator><description>&lt;p&gt;Another fantastic post!! The detailed level of your articles is completely awesome!&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156483</link><pubDate>Wed, 19 Nov 2008 21:27:01 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156483</guid><dc:creator>markrussinovich</dc:creator><description>&lt;p&gt;Large address awareness is specified with the IMAGE_FILE_LARGE_ADDRESS_AWARE flag in the IMAGE_FILE_HEADER structure of the PE header:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://msdn.microsoft.com/en-us/library/ms680313.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms680313.aspx&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156500</link><pubDate>Wed, 19 Nov 2008 21:56:46 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156500</guid><dc:creator>o.s</dc:creator><description>&lt;p&gt;Thanks Mark for the reply. I was so busy researching asf's comment that I hadn't checked back on the latest comments. Thanks everyone. &lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156510</link><pubDate>Wed, 19 Nov 2008 22:30:59 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156510</guid><dc:creator>Ben Voigt [C++ MVP]</dc:creator><description>&lt;p&gt;&amp;lt;quote&amp;gt;I was involved in choosing the default min/max sizes for system managed pagefiles in Vista, and I'm pretty sure those numbers were not just copied from some magazine :)&lt;/p&gt;
&lt;p&gt;[snip]&lt;/p&gt;
&lt;p&gt;Also, running out of commit (for example, because of a leak in some app) can bring the entire system to a halt, and a higher maximum size can make the difference between a system that does not respond and has to be rebooted and a system that can be recovered by restarting a process.&amp;lt;/quote&amp;gt;&lt;/p&gt;
&lt;p&gt;I think you got that backwards. &amp;nbsp;Running out of physical RAM without running out of commit is what brings the system to a halt, because the system is paging in and out continually and thrashing the disk I/O subsystem, and may be unrecoverable without a reboot. &amp;nbsp;OTOH running out of commit generally causes a fatal error to the application performing the more allocations, allowing other applications to continue normally and at full speed.&lt;/p&gt;
&lt;p&gt;And it scares me that the person in charge of setting pagefile limits at Microsoft has such a fundamental misunderstanding of the problem.&lt;/p&gt;
&lt;p&gt;Pagefiles are a hack to permit applications written to process data in batches but without regard to memory usage (i.e. data once processed should be freed immediately, but isn't until the task is completed) to run on larger datasets which don't fit fully in RAM but the working set does. &amp;nbsp;If the working set doesn't fit in RAM, theoretically the pagefile allows processing to continue but practically the 1000000X slowdown from paging means this isn't really enabling anything. &amp;nbsp;And an application which is designed to handle large problems can handle data sets bigger than memory as long as the working set fits without any pagefile whatsoever (allocate only the working set). &amp;nbsp;The OS disk cache is likely to make the &amp;quot;read the data from disk on each (non-localized) use&amp;quot; perform better than slurping the whole thing into committed memory.&lt;/p&gt;
&lt;p&gt;An application that wants to be really fancy could determine whether the data will fit and use cached or non-cached I/O accordingly. &amp;nbsp;But that's something that only server-class software like SQL server would want to worry about.&lt;/p&gt;
&lt;p&gt;Or at least that's my understanding.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156520</link><pubDate>Wed, 19 Nov 2008 22:50:45 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156520</guid><dc:creator>Joe Butler</dc:creator><description>&lt;p&gt;Is this a fair summary of why the 3GB is an option that is off by default:&lt;/p&gt;
&lt;p&gt;Either lots of 2GB processes at the same time with a 2GB system virutual memory to manage all those resources, or a limited number of 3GB processes with a smaller system virtual memory of 1GB to manage them?&lt;/p&gt;
&lt;p&gt;And what is wrong with just letting Windows manage the page file?&lt;/p&gt;
&lt;p&gt;Won't it choose a reasonable size and grow it if necessary? &amp;nbsp;I always just assumed it would never shrink, but Mark seemed to suggest the page file will be truncated when the commit charge drops. Is setting a fixed size to avoid the stall as the swap file is grown or shrunk in size, or to avoid the on-screen message that, 'Windows will increase the size of the virtual memory file' - message that cannot be clicked if running on an unattended server?&lt;/p&gt;
&lt;p&gt;On a workstation, is there really any point? &amp;nbsp;Will people notice a difference? &amp;nbsp;&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156564</link><pubDate>Thu, 20 Nov 2008 00:08:10 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156564</guid><dc:creator>m^22</dc:creator><description>&lt;p&gt;Great article, but I there's one important thing that should be mentioned: address space fragmentation. So I recommend reading also &lt;a rel="nofollow" target="_new" href="http://forall.ru-board.com/egor23/online/FAQ/Virtual_Memory/Limits_Virtual_Memory.html"&gt;http://forall.ru-board.com/egor23/online/FAQ/Virtual_Memory/Limits_Virtual_Memory.html&lt;/a&gt;&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156663</link><pubDate>Thu, 20 Nov 2008 03:40:55 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156663</guid><dc:creator>Adi R</dc:creator><description>&lt;p&gt;three things&lt;/p&gt;
&lt;p&gt;1. In the last paragraph, the maximum page file size on 32 Bit windows and 64 Bit windows seem to be the same, at 16 TB. Is this really right?&lt;/p&gt;
&lt;p&gt;2. How is memory managed for DirectX (aka Games!). Obviously they still go through Kernel and such, but I know games often allocate memory to try to force only physical memory usage. Will having paging file help at all? How does OS behave?&lt;/p&gt;
&lt;p&gt;3. On Vista 32-bit, is 3GB option enabled or disabled? And if disabled, how do I get it going on my 4gb PC?&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156702</link><pubDate>Thu, 20 Nov 2008 05:41:32 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156702</guid><dc:creator>Louis</dc:creator><description>&lt;p&gt;Hello and thank you for this excellent post.&lt;/p&gt;
&lt;p&gt;I have a question and comment about virtualized server environments&lt;/p&gt;
&lt;p&gt;To avoid swapping within a virtual W2K3 VM, I configure them with a chockfull (1,2,4GB) of RAM and let the hypervisor manage the pseudo physical allocation.&lt;/p&gt;
&lt;p&gt;With your post, I am thinking I might still need to provide some paging within the VM.&lt;/p&gt;
&lt;p&gt;Any comments about either statements?&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156759</link><pubDate>Thu, 20 Nov 2008 09:05:18 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156759</guid><dc:creator>Miral</dc:creator><description>&lt;p&gt;Thank you for this excellent post; very informative.&lt;/p&gt;
&lt;p&gt;Are you going to go on to discuss other topics (eg. the paged and nonpaged pools of kernel memory and how to figure out what's going on with them)? &amp;nbsp;I ask because my PC currently seems to have a nonpaged pool leak (which I've traced to pool &amp;quot;TdxA&amp;quot;, but I'm not sure where to go from there). &amp;nbsp;My computer (Vista32) gets dangerously flaky once the non-paged pool gets to around 1GB. &amp;nbsp;(It's also not happy when the total handle count gets above 45,000 or so, but that's less serious.)&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3156829</link><pubDate>Thu, 20 Nov 2008 11:49:06 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156829</guid><dc:creator>PeteR</dc:creator><description>&lt;p&gt;Great article! Maybe a stupid question but what is the disadvantage of setting a too big paging file?&lt;/p&gt;</description></item><item><title>re: by Pavel Lebedinsky</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3157087</link><pubDate>Thu, 20 Nov 2008 20:19:29 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3157087</guid><dc:creator>vadim</dc:creator><description>&lt;p&gt;Pavel, you said that:&lt;/p&gt;
&lt;p&gt;3. Configuring a system with lots of RAM to run without pagefile may have either negative or positive perf impact depending on what the system is doing. &lt;/p&gt;
&lt;p&gt;Could you please give me some examples of negative performance impact, if I have 4GB XP32 w/o pagefile?&lt;/p&gt;
&lt;p&gt;And similar question: my colleagues was once set and experiment with 2GB pagefile on the 4GB RAMDrive on the 8GB XP64. I think that this doesn't make sense at all. What do you think?&lt;/p&gt;
&lt;p&gt;Sorry for probably bad English =)&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3157092</link><pubDate>Thu, 20 Nov 2008 20:32:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3157092</guid><dc:creator>Pieter</dc:creator><description>&lt;p&gt;I do think that setting the pagefile to a fixed size is better because of fragmentation (and therefor performance) reasons. &lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3157096</link><pubDate>Thu, 20 Nov 2008 20:42:05 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3157096</guid><dc:creator>Tim Bolton</dc:creator><description>&lt;p&gt;&amp;quot;I do think that setting the pagefile to a fixed size is better because of fragmentation (and therefor performance) reasons. &amp;quot;&lt;/p&gt;
&lt;p&gt;Just defrag the pagefile and then you don't have to worry about it...&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3157186</link><pubDate>Fri, 21 Nov 2008 00:41:42 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3157186</guid><dc:creator>Clay</dc:creator><description>&lt;p&gt;Excellent post, can't wait for the next edition of Windows Internals to hit the shelves.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3157279</link><pubDate>Fri, 21 Nov 2008 04:10:32 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3157279</guid><dc:creator>Eran</dc:creator><description>&lt;p&gt;Great article!&lt;/p&gt;
&lt;p&gt;May I suggest a topic for a future article? I would love to see discussion about Windows memory management policies. E.g., when pages get swapped out and how that is decided; if and how those policies are customizable; etc.&lt;/p&gt;
&lt;p&gt;I often see situations where recently-inactive pages are swapped out too soon, when there is plenty of available physical memory. This is especially problematic with Java (or any other garbage-collected environment for that matter) applications, where most of the pages have to be swapped in for each garbage collection.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3157406</link><pubDate>Fri, 21 Nov 2008 10:23:08 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3157406</guid><dc:creator>Hofi</dc:creator><description>&lt;p&gt;Thank you for the great article.&lt;/p&gt;
&lt;p&gt;Just a small tipo,&lt;/p&gt;
&lt;p&gt;Testlimit is also marked large-address aware, so if you run it with the –m switch...&lt;/p&gt;
&lt;p&gt;should be -r switch (or the screenshot command should have been -m :)&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3157407</link><pubDate>Fri, 21 Nov 2008 10:33:46 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3157407</guid><dc:creator>mrogi</dc:creator><description>&lt;p&gt;I am running Vista with 4GB of physical memory. I also have a USB drive with Readyboost enabled. Is Mark saying it is foolish to allow Windows to manage my virtual memory? Am I supposed to manually tweak my pagefile size for maximum performance?&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3157557</link><pubDate>Fri, 21 Nov 2008 17:59:45 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3157557</guid><dc:creator>Frank Wilhoit</dc:creator><description>&lt;p&gt;Is it [still] true that, when the low-memory resolution dialog appears, some random thread of some random process has already been commandeered for that purpose and therefore the system must axiomatically be regarded as unstable?&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3158054</link><pubDate>Sun, 23 Nov 2008 00:32:47 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3158054</guid><dc:creator>Jamie Hanrahan</dc:creator><description>&lt;p&gt;To Ben Voight: &lt;/p&gt;
&lt;p&gt;&amp;gt; Pagefiles are a hack to permit applications &lt;/p&gt;
&lt;p&gt;&amp;gt; written to process data in batches but &lt;/p&gt;
&lt;p&gt;&amp;gt; without regard to memory usage &lt;/p&gt;
&lt;p&gt;I don't think of it that way. Demand-paged virtual memory OSs take advantage of the &amp;quot;80-20 rule&amp;quot; (or 90-10, or whatever): Most workloads spend most of their time accessing only a small portion of their address space. There's no particular need to keep things whose access is not in your performance path in RAM all the time. &lt;/p&gt;
&lt;p&gt;Evidence for this can be found by increasing RAM while keeping the workload constant. You will reach a point of diminishing returns after which adding more RAM won't improve performance. And you'll find that this point occurs well before everything is in RAM. &lt;/p&gt;
&lt;p&gt;(Of course, a lot of code from the exe's and dll's you're running will *never* be in RAM, unless you happen to execute *all* of it.) &lt;/p&gt;
&lt;p&gt;This is also the argument against disabling the pagefile completely. Doing so will force the OS (any virtual memory OS) to keep all pagefile-backed v.m.... or rather, everything that's supposed to be pagefile-backed... in RAM all the time, no matter how long ago it was referenced. This of course cuts down on the RAM available for code, the file cache, etc. It's usually a net loss. Not absolutely always, but usually. (And then of course there are the apps that simply won't work at all without pagefile space.) &lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3158652</link><pubDate>Mon, 24 Nov 2008 15:33:13 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3158652</guid><dc:creator>Wayne Robinson</dc:creator><description>&lt;p&gt;Brilliant read as always Mark. I adore the work you do, the blogs you write, the apps create and Events you speak at. I am waiting in anticipation for the 5th edition of windows internals to drop through my door. Sadly its 2 months away yet :'(&lt;/p&gt;
&lt;p&gt;Cheers!&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3158752</link><pubDate>Mon, 24 Nov 2008 18:32:52 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3158752</guid><dc:creator>Ben Voigt [C++ MVP]</dc:creator><description>&lt;p&gt;&amp;lt;quote&amp;gt;(Of course, a lot of code from the exe's and dll's you're running will *never* be in RAM, unless you happen to execute *all* of it.)&amp;lt;/quote&amp;gt;&lt;/p&gt;
&lt;p&gt;Of course this is true, and you don't need a pagefile for the VM system to page these out, because they are discardable sections which can simply be reread from disk.&lt;/p&gt;
&lt;p&gt;The 80-20 rule may hold, but the simple matter is that reading the input file into memory to process is at best as good performance as reading memory-mapped or on an as-needed basis, and usually worse. &amp;nbsp;Why? &amp;nbsp;Because the file cache will satisfy your I/O from memory anyway for workloads that fit, and for workloads that don't fit the initial loading step reduces to a disk to disk (file to pagefile) copy of your data, after which the OS still has to read the data back in from the pagefile on demand.&lt;/p&gt;
&lt;p&gt;Do you agree that the &amp;quot;bringing the system to a halt&amp;quot; is not due to running out of commit, but due to excessive paging in the process of allocating up to the commit limit after RAM is exhausted?&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3158874</link><pubDate>Mon, 24 Nov 2008 23:13:41 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3158874</guid><dc:creator>AlanH</dc:creator><description>&lt;p&gt;Even though my earlier comment never got posted, here's an update for whoever is reading/moderating...&lt;/p&gt;
&lt;p&gt;I had mentioned that 32-bit testlimit on my 4GB XP64 system was reporting something just a bit shy of 2GB when it should've been reporting just shy of 4GB. I finally discovered that I was using an ancient version of testlimit that was not marked large-address aware.&lt;/p&gt;
&lt;p&gt;I downloaded the latest version of testlimit (v5) and it is now reporting 4GB as expected.&lt;/p&gt;
&lt;p&gt;Alan&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3158993</link><pubDate>Tue, 25 Nov 2008 04:28:31 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3158993</guid><dc:creator>Pavel Lebedinsky</dc:creator><description>&lt;p&gt;@Ben: I'm not in charge of setting pagefile limits, I was just one of the people who reviewed proposed changes for Vista.&lt;/p&gt;
&lt;p&gt;I do however have some experience with debugging machines that can't make forward progress because of resource allocation failures, so I'll comment on this:&lt;/p&gt;
&lt;p&gt;&amp;gt; running out of commit generally causes a&lt;/p&gt;
&lt;p&gt;&amp;gt; fatal error to the application performing&lt;/p&gt;
&lt;p&gt;&amp;gt; the more allocations, allowing other&lt;/p&gt;
&lt;p&gt;&amp;gt; applications to continue normally and at full speed.&lt;/p&gt;
&lt;p&gt;This might be true for a short period of time, but if the leaking application keeps allocating more memory (especially if it does this by commiting one page at a time), you'll quickly get to a point where you can't start new processes anymore. So unless you happened to have task manager running, you won't even be able to kill the misbehaving app.&lt;/p&gt;
&lt;p&gt;Cleanly exiting an existing process (for example, saving a modified document in Word) will also be impossible becasue doing this would require allocating more memory.&lt;/p&gt;
&lt;p&gt;If you wait even longer, you'll see more problems, such as screen repaint issues, not being able to switch desktops, crashes or weird behavior from apps that do not handle errors correctly, etc. Code that doesn't allocate memory or call any external APIs might be able to continue running at full speed, but for all practical purposes the machine will be unusable.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3159070</link><pubDate>Tue, 25 Nov 2008 07:06:44 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3159070</guid><dc:creator>Pavel Lebedinsky</dc:creator><description>&lt;p&gt;By the way, there are actually 2 separate reasons why pagefiles are necessary.&lt;/p&gt;
&lt;p&gt;The first reason is to allow dirty pages that are never (or very rarely) referenced to be moved to disk, freeing up more RAM for other purposes.&lt;/p&gt;
&lt;p&gt;The other reason is to enable better use of *virtual* memory, given that physical memory is allocated on demand. Remember that when a process calls VirtualAlloc(MEM_COMMIT) there are no physical pages allocated at this time. Physical pages are only allocated when the app accesses virtual pages for the first time. This is good because it makes committing pages a relatively cheap operation, so apps can commit memory in bigger chunks, without having to worry about each page they may or may not use.&lt;/p&gt;
&lt;p&gt;Now, even though committing memory does not allocate physical pages, it still guarantees to the application that reading from/writing to the committed pages will never fail (or deadlock). It might be slow if other physical pages have to be moved to disk in order to make room, but it will eventually succeed.&lt;/p&gt;
&lt;p&gt;In order to make that guarantee the memory manager has to assume that every committed page in the system might eventually be written to. And that in turn means that there has to be enough space in the physical memory and all the pagefiles combined to hold all the resulting data. In other words, the total commit charge has to be less than the system commit limit. Once the limit is reached, the memory manager will refuse to commit any more memory, even if there is still plenty of unused (free+zeroed) physical pages, or plenty of unused space in the pagefile.&lt;/p&gt;
&lt;p&gt;In a sense, pagefiles are like stormwater ponds. Most of the time they are (almost) empty, but they have to be large enough in case a big storm happens.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3159359</link><pubDate>Tue, 25 Nov 2008 18:57:50 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3159359</guid><dc:creator>dave</dc:creator><description>&lt;p&gt;Good article - thanks.&lt;/p&gt;
&lt;p&gt;And now a carping criticism for which you personally are not responsible: why is it that Task Manager seems to want to mislabel important system metrics?&lt;/p&gt;
&lt;p&gt;Like, for example in XP, displaying the commit charge as 'PF Usage' (was 'Mem' in Windows 2000).&lt;/p&gt;
&lt;p&gt;I suppose whoever's in charge of these things has decided that the average user can't understand 'commit charge', but is lying to them going to help? &amp;nbsp;I've lost count of the number of times I've had to point out that just because Task Manager says you're using 1GB of pagefile, it doesn't mean you're using 1GB of pagefile (on your system that has no pagefiles configured, even).&lt;/p&gt;
&lt;p&gt;dave&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3161174</link><pubDate>Fri, 28 Nov 2008 20:25:28 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3161174</guid><dc:creator>Greg</dc:creator><description>&lt;p&gt;Mark - could you talk about observing the size of applications using AWE?&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3162061</link><pubDate>Sun, 30 Nov 2008 10:29:44 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3162061</guid><dc:creator>Marc Brooks</dc:creator><description>&lt;p&gt;In the last paragraph, the phrase &amp;quot;32-bit Windows has a maximum paging file size of 16TB&amp;quot; surely should have been 32GB, not 32TB, right?&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3162319</link><pubDate>Mon, 01 Dec 2008 13:17:26 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3162319</guid><dc:creator>Rik Mayell</dc:creator><description>&lt;p&gt;I concur with Mark regarding judging the size of the page file. &amp;nbsp;Measure the maximum commit charge and set accordingly.&lt;/p&gt;
&lt;p&gt;This would support the somewhat vague scientific maxim that judgement without observation or measurement is, in effect, meaningless (unless, of course, you're Einstein.)&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3162504</link><pubDate>Mon, 01 Dec 2008 20:28:34 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3162504</guid><dc:creator>Luke Skywalker</dc:creator><description>&lt;p&gt;Everyone downloaded the 5.0 Version of Testlimit?&lt;/p&gt;
&lt;p&gt;It seems to have a bug....&lt;/p&gt;
&lt;p&gt;I am running on a 32Bit WinXP SP3 Machine and when I use Testlimit with the -s or-m switch and so on it doesnt take the MB Parameter and allocates the maximum instantly....&lt;/p&gt;
&lt;p&gt;Solutions?&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3162507</link><pubDate>Mon, 01 Dec 2008 20:39:02 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3162507</guid><dc:creator>stephc_msft</dc:creator><description>&lt;p&gt;Regarding the comment/question above &lt;/p&gt;
&lt;p&gt;32-bit Windows, running in PAE mode, does has a maximum paging file size of 16TB.&lt;/p&gt;
&lt;p&gt;(or in practice the size of the underlying disk)&lt;/p&gt;
&lt;p&gt;Most 32bit systems run in PAE mode by default these days.&lt;/p&gt;
&lt;p&gt;Without PAE mode, the limit, for any single pagefile, is 4GB&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3163994</link><pubDate>Thu, 04 Dec 2008 23:20:10 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3163994</guid><dc:creator>JCAB</dc:creator><description>&lt;p&gt;Pavel: &amp;quot;enable better use of *virtual* memory, given that physical memory is allocated on demand&amp;quot; and then &amp;quot;reading from/writing to the committed pages [...] might be slow if other physical pages have to be moved to disk in order to make room&amp;quot;... and/or if the page had been swapped out so it needs to be brought back from disk.&lt;/p&gt;
&lt;p&gt;The crux of the problem with virtual memory is in there. What I see happen often is a system that is working fine... but where some components are chuggish to respond. I open Windows Explorer and it takes 15 seconds to show up. Or I click on the start button and it takes 5 seconds to respond. Or I interact with any application and it takes &amp;quot;too long&amp;quot; to do what I ask of it.&lt;/p&gt;
&lt;p&gt;It's like part of the application's memory is swapped out, and now Windows has to bring in the needed pages on demand, as it sees them being accessed, and oftentimes this can take seconds to complete. Running without a page file or with a small one minimizes the occurrences of this sort of issue. At least, it certainly did on Windows 2000, which was the last time I tried it, I must confess. And this sort of issue is very common in my experience, even today on Windows Vista. I think I'm leaning towards Ben on this one, with the caveat that having Pavel's &amp;quot;stormwater ponds&amp;quot; sounds like a good thing. Then again, I'm on videogames, where responsiveness is paramount, so I might be a trifle biased. Paradoxically, most videogames tend to constantly exercise the same memory in a tight loop, so this sort of issue doesn't crop up so often, there.&lt;/p&gt;
&lt;p&gt;In any case, I've always suspected that swapping out application memory to make space for a bigger file cache is not such a good idea in many scenarios, although it definitely improves performance for certain tasks (mostly background and batched tasks, IMHO). The question is: is the current startegy used by Windows the best strategy to provide the best user-interaction responsiveness on consumer machines? Somehow, I don't think so. The problem is certainly very complex, so maybe I'm just deluding myself in thinking that there must be a better way.&lt;/p&gt;</description></item><item><title>Historical Reasons for 3x RAM for Paging</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3164102</link><pubDate>Fri, 05 Dec 2008 05:32:25 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3164102</guid><dc:creator>Todd Bandrowsky</dc:creator><description>&lt;p&gt;I seem to recall the reason for the 3x paging file recommendation was made by Intel long back in the days when the 80386 was first introduced.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3164271</link><pubDate>Fri, 05 Dec 2008 13:09:36 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3164271</guid><dc:creator>John Westher</dc:creator><description>&lt;p&gt;Typo I believe:&lt;/p&gt;
&lt;p&gt;The figure isn’t drawn to scale, because even 8TB (should be 8GB instead of TB) , much less 128GB, would be a small sliver. Suffice it to say that like our universe, there’s a lot of emptiness in the address space of a 64-bit process. &lt;/p&gt;
&lt;p&gt;Great article!&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3164345</link><pubDate>Fri, 05 Dec 2008 16:53:47 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3164345</guid><dc:creator>Kerry C</dc:creator><description>&lt;p&gt;I have a couple of minor nitpicks:&lt;/p&gt;
&lt;p&gt;LSASS runs on every Windows-based machine, not just domain controllers (go ahead and kill the LSASS process on your computer and enjoy your reboot).&lt;/p&gt;
&lt;p&gt;Esentutl.exe is a database repair tool that isn’t specific to Active Directory. Its file description says &amp;quot;Server Database Storage Utilities&amp;quot;.&lt;/p&gt;
&lt;p&gt;These are fairly common things one should know about Windows, IMO. As a result of finding those inaccuracies I have to fully test everything written here before I can trust any of it. Your conclusions are probably right, but you can see how including incorrect information can tarnish an otherwise perfect article, right?&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3164460</link><pubDate>Fri, 05 Dec 2008 22:24:26 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3164460</guid><dc:creator>John Cairns</dc:creator><description>&lt;p&gt;Intel's 32 bit processors since the 80386 all address 48 bits of logical memory (2^48) via a 16 bit segment register and 32bit offset pointer.&lt;/p&gt;
&lt;p&gt;IMHO, the modern generation of operating systems does not exploit this because 32 bits of addressable memory is &amp;quot;more than anyone would ever need&amp;quot; and dealing with &amp;quot;NEAR&amp;quot; and &amp;quot;FAR&amp;quot; pointers was a major fiasco in the early days of Windows coding.&lt;/p&gt;
&lt;p&gt;Thought I would point it out since you failed to mention this.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3164973</link><pubDate>Mon, 08 Dec 2008 09:23:52 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3164973</guid><dc:creator>tygrus</dc:creator><description>&lt;p&gt;The blub &amp;quot;virtual-memory-related limits in Windows, that includes information on how to track down virtual memory hogs and how to size the paging file.&amp;quot; is not fully covered by article. I still can't track down memory hogs as claimed.&lt;/p&gt;
&lt;p&gt;I installed Virtual Server and created a VM with 256MB RAM. My system now seems to use an extra 1GB RAM (eg. 1.4GB after vs 400MB before) that is not hidden/un-accounted for. I would have thought it would be closer to 256MB + VM server/helper.&lt;/p&gt;
&lt;p&gt;The two articles still don't help to calculate the memory used by numerous OS structures, where the disk cache fits in or the problem with only 1GB for OS.&lt;/p&gt;
&lt;p&gt;32bit OS system calls use 32bit pointers and the memory windowing of PAE I think works for apps not OS or drivers. It's very messy to copy data between windows of ?GB because they can't be addressed at the same time or shared between programs (eg. OS and app).&lt;/p&gt;
&lt;p&gt;Other system resources (eg. handles, desktop heap) are often exhausted by loading multiple small programs (eg. IE windows) before 2GB VM is used.&lt;/p&gt;
&lt;p&gt;Some people are confused by &amp;quot;Available Physical memory&amp;quot; which is also used by the &amp;quot;system cache&amp;quot; and is not the total addressable RAM. You can have physical memory available but cannot allocate additional memory for OS/app because it's in the other half (eg. 1GB OS, 1GB apps split of 2GB).&lt;/p&gt;</description></item><item><title>Great Article</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3165421</link><pubDate>Tue, 09 Dec 2008 03:45:04 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3165421</guid><dc:creator>Doug Piercy</dc:creator><description>&lt;p&gt;The section on how to size the pagefile is the most concise explanation I've seen on the subject and easily worth the price of admission.&lt;/p&gt;
&lt;p&gt;I was charged with figuring this out awhile ago for a system that consisted exclusively of boot-from-SAN iSCSI storage with dedicated pagefile volumes (to avoid SAN replication) so we didn't want to waste expensive SAN storage space on large pagefile volumes. Most web articles on the subject are years behind the times, when everything was 32-bit and 1GB of RAM was a luxury and 4GB was unheard of.&lt;/p&gt;
&lt;p&gt;After much reading and observation, I basically came to the same conclusion as Mark (Peak Commit Charge + Fudge Room) with a 1GB minimum, since I remember reading that the OS generally wants at least SOME pagefile space for basic housekeeping. Can anyone explain what that housekeeping is?&lt;/p&gt;
&lt;p&gt;The hardest part of all this research was convincing IT monkeys, who apparently read the same magazines as the MS engineers and are firmly convinced that pagefiles must always be 1X-3X RAM, that it doesn't work that way when you have an x64 SQL Server with 32-64GB of physical RAM!&lt;/p&gt;
&lt;p&gt;Thanks for a great read Mark. I'm looking forward to Windows Internals 5th Edition.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3166272</link><pubDate>Wed, 10 Dec 2008 18:23:59 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3166272</guid><dc:creator>Michael S.</dc:creator><description>&lt;p&gt;@Kerry C,&lt;/p&gt;
&lt;p&gt;I don't think he even implied that LSASS was AD specific. &amp;nbsp;It's pretty clear that it's not to even a novice user. &amp;nbsp;That's the same with Esentutl. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Giving an instance of how these things matter for the given context is right way to write a paper. &amp;nbsp;There would be no reason for Mark to talk about how these things are not useful to the discussion to make his point. &lt;/p&gt;
&lt;p&gt;I thought this was extremely informative. &amp;nbsp;Just my 2 cents.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3171706</link><pubDate>Sun, 21 Dec 2008 11:30:21 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3171706</guid><dc:creator>srinivas.s.c</dc:creator><description>&lt;p&gt;Love your blog! The technical detial is mind blowing. I am not sure if this is the place to ask a question.&lt;/p&gt;
&lt;p&gt;I am running Vista Ultimate 64-bit edition on a Intel Core 2 Duo 2.53 Ghz with 4GB RAM and a Nvidia Gefore 9600GT graphics card.&lt;/p&gt;
&lt;p&gt;How can I squeeze maximum performance out of Vista Ultimate on my hardware ie. speeding up boot time, response time of system services?&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3173165</link><pubDate>Thu, 25 Dec 2008 17:56:21 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3173165</guid><dc:creator>rakesh</dc:creator><description>&lt;p&gt;Thanks Mark for a informative article in Windows Virtual memory. Would u please provide some information about the virtual memory limits of Windows 7&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3173939</link><pubDate>Sun, 28 Dec 2008 01:26:07 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3173939</guid><dc:creator>Aurea Walker</dc:creator><description>&lt;p&gt;I simply cant find any resources to extend or update my virtual memory and the system is well up to date with a new windows XP/ home edition we have absolutely scoured, the entire network for the fix,to absolutely no resolve.We have to have more virtual memory,we have three 128 memory sticks so that is ok,but this virtual memory being too low is driving us up a huge hill.Microsoft should have it but if they do they will not provide us any downloads. for the fix.Thanks for being there for us and for responding,we do not expect to have the funds for the fix.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3174602</link><pubDate>Tue, 30 Dec 2008 04:34:21 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3174602</guid><dc:creator>Paul</dc:creator><description>&lt;p&gt;This really helps with setting the pagefile size on netbooks that use Solid State Drives with limited space. &amp;nbsp;Typically we can't afford to waste space on an overly large page file created on a system with 2GB RAM and an 8 or 16GB drive.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3176717</link><pubDate>Tue, 06 Jan 2009 00:28:38 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3176717</guid><dc:creator>Rich S</dc:creator><description>&lt;p&gt;I am so glad this article is out, along with the comments. &amp;nbsp;It clarifies much while illustrating how complex this subject is. &amp;nbsp;I think this needs to be republished every year to counter the utter drivel on the web and magazines.&lt;/p&gt;
&lt;p&gt;For my part, I have been charged with configuring and supporting servers of various sizes, needs, and flavors the better part of 30 years (remember the pdp-11/70?). &amp;nbsp;I have simplified support 1000% and DR with this rule: &amp;nbsp;No paging file unless proven first that it is needed. &amp;nbsp;Paging to a disk file is almost always transient data, there is no need for OSes these days to page programs/librarys/data that it has read from disk already. &amp;nbsp;Like getting an error in your program, just one is already too many, having your application write to a page file just once is very expensive, so just dont do it.&lt;/p&gt;
&lt;p&gt;To those many, MANY thousands of so called professionals who believe a server reboot should be avoided at all costs, sing to the window patching group. &amp;nbsp;A server that can automatically reboot in 20 seconds is almost always more cost effective than 1 or 3 technicians standing around a console for a couple of hours trying to get a handle on a errant application (just how do you quickly prove killing a process does not have unintended consequences). &amp;nbsp;&lt;/p&gt;
&lt;p&gt;I had one vendor scream at me they had to have 6x the size of physical RAM. &amp;nbsp;I asked them to write to me how long would it take for them to write and then read 48GB of paging file, and then explain how that would affect their guarantee of 500 transactions per second. &amp;nbsp;I set no paging file and we did 3000 transactions per second for life of the application (78 months).&lt;/p&gt;
&lt;p&gt;I have played with both 32-bit (2GBRAM) and 64-bit (4GB) Vista for more than a year, they have minimum page file set -- mostly to avoid the nag pop up. &amp;nbsp;I have yet to find anyhing that fails or slows when it does not exist.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3179639</link><pubDate>Sat, 10 Jan 2009 03:15:50 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3179639</guid><dc:creator>Leon Orlov</dc:creator><description>&lt;p&gt;Great read Mark. &amp;nbsp;Thank you bunches.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3180245</link><pubDate>Sat, 10 Jan 2009 19:17:12 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3180245</guid><dc:creator>rakesh</dc:creator><description>&lt;p&gt;Thanks Mark for a informative article in Windows Virtual memory. Would u please provide some information about the virtual memory limits of Windows 7.(This is the second time i am posting this.pls comment on it )&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3180574</link><pubDate>Sun, 11 Jan 2009 02:05:04 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3180574</guid><dc:creator>DarekS</dc:creator><description>&lt;p&gt;@ John Cairns,&lt;/p&gt;
&lt;p&gt;Windows would gain nothing by using non-flat memory model (a model with 48-bit segment:offset addresses), because segment:offset address is always translated to 32-bit virtual address - if it's larger than 4 GB, MMU truncates it to 32 bits, so you are still limited to 32-bit address space.&lt;/p&gt;</description></item><item><title>re: JCAB</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3181389</link><pubDate>Tue, 13 Jan 2009 01:00:29 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3181389</guid><dc:creator>Alessandro Angeli</dc:creator><description>&lt;p&gt;&amp;lt;&amp;lt;&amp;lt;I've always suspected that swapping out application memory to make space for a bigger file cache is not such a good idea in many scenarios [...] maybe I'm just deluding myself in thinking that there must be a better way.&amp;gt;&amp;gt;&amp;gt;&lt;/p&gt;
&lt;p&gt;I work with digital video instead of videogames, but the issues are mostly the same you describe. And there used to be a better way, aka Win9X, where you were able to configure a maximum disk cache size and prevent ahead-of-time swap out. NT4 seemed to have similar settings (Mark even created a cache config utility for NT4).&lt;/p&gt;
&lt;p&gt;The current policy (swap out early and cache all you can) works well enough when you randomly access many small files (servers, batches, office workstations) or the application used to access very large files manages its own cache (databases).&lt;/p&gt;
&lt;p&gt;But when you sequentially scan a file that's several GB in size, which takes a while, the system will end up swapping out practically every other process, including most of explorer.exe, and fill up the physical memory with useless disk cache (the same sector is never access twice). After that, using your system requires great patience. Even simply watching a DVD or looking at your holiday pictures makes it hard to multitask, and those are not niche scenarios.&lt;/p&gt;
&lt;p&gt;On Win9X, enabling the conservative swap usage and limiting the cache to a reasonable size for most office-like activities made all of the above disappear and the system was always responsive (even the MSDN Library viewer and VisualStudio were much faster than on Win2K/XP/2K3).&lt;/p&gt;
&lt;p&gt;Unfortunately, in its infinite wisdom (aka the &amp;quot;one size fits all&amp;quot; policy), MS dropped those settings in NT5/6, which is practically the only reason why I kept a Win98SE system as my main personal and dev machine until 2004.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3182601</link><pubDate>Thu, 15 Jan 2009 03:11:32 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3182601</guid><dc:creator>kostas</dc:creator><description>&lt;p&gt;Great thanks for this great guide.&lt;/p&gt;
&lt;p&gt;It seems though that I've been doing something wrong.&lt;/p&gt;
&lt;p&gt;I've got xp sp3 with 2 gb of ram.&lt;/p&gt;
&lt;p&gt;So, following what mark suggests, &lt;/p&gt;
&lt;p&gt;I've opened all the programs that I use,&lt;/p&gt;
&lt;p&gt;then checked the Peak Commit Charge value,&lt;/p&gt;
&lt;p&gt;and it was about 1,8 gb.&lt;/p&gt;
&lt;p&gt;So, I set Virtual memory size to min:200-max:1000.&lt;/p&gt;
&lt;p&gt;But then, after some time, after having LESS programs opened now,&lt;/p&gt;
&lt;p&gt;I always got a popup saying that system run out of memory and that performance may degrade...&lt;/p&gt;
&lt;p&gt;So I tried to increase it's max limit by steps of 100, but even when I got to eg, 1400 (with eak commit charge always equal or less than 2 gb), I still got that warning about the memory.&lt;/p&gt;
&lt;p&gt;So, I had to set virtual memory to Auto,&lt;/p&gt;
&lt;p&gt;to make these popups stop.&lt;/p&gt;
&lt;p&gt;Any syggestions?&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3193247</link><pubDate>Wed, 28 Jan 2009 12:55:44 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3193247</guid><dc:creator>Darryl Miles</dc:creator><description>&lt;p&gt;Hi Mark,&lt;/p&gt;
&lt;p&gt;Do the same guidelines apply for a Win2K8 system running a Hyper-V role? &amp;nbsp;Likewise if it's a server-core install?&lt;/p&gt;
&lt;p&gt;I am wondering whether the pagefile on a Hyper-V host would have any value (other than the standard paging maintenance purposes you mention)&lt;/p&gt;
&lt;p&gt;Darryl&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3195157</link><pubDate>Sat, 31 Jan 2009 06:39:04 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3195157</guid><dc:creator>Genetti</dc:creator><description>&lt;p&gt;Any ideas on this issue...&lt;/p&gt;
&lt;p&gt;I noticed that once I opened a number of applications on my Windows XP SP2 (32bit) PC -- latest updates from MS, including IE7, explorer began to choke... I could not open &lt;/p&gt;
&lt;p&gt;any more windows and the menus and options would not render anymore, even though there was plenty of free memory available -- windows task manager reported that I was still &lt;/p&gt;
&lt;p&gt;using less than 50% of the RAM / Virtual Memory that was available. After some additional investigation, I found that this sort of issue occurrs on a variety of machines.&lt;/p&gt;
&lt;p&gt;The first system I tried had 2GB of ram and a 1GB pagefile. Internet explorer/file explorer/&amp;quot;filling in&amp;quot; of prompts will STOP working when your total ram usage is at or &lt;/p&gt;
&lt;p&gt;near 1.1GB. &lt;/p&gt;
&lt;p&gt;HP 7800 Dual Core PC // 2GB RAM / 1GB PF (winXP (32bit) SP2 / IE7)&lt;/p&gt;
&lt;p&gt;	- Issue Occurs at about 1.1 GB Commit&lt;/p&gt;
&lt;p&gt;The main problem on machines with 2GB of system ram is that explorer stops working at or around 1GB ram used, topping out at 1.1GB. &amp;nbsp;You can use programs up and past the &lt;/p&gt;
&lt;p&gt;1GB mark but once you open a few explorer windows you can open no more. &amp;nbsp;Once this issue occurs, even some completely unrelated programs stop working. &amp;nbsp;The strangest one &lt;/p&gt;
&lt;p&gt;occurs if you open a cmd window, then type ipconfig --&amp;gt; ipconfig fails and returns no output... unless you close some IE windows first.&lt;/p&gt;
&lt;p&gt;Additional Tests administered: (2gb RAM / 1GB PF // HP 7700 )&lt;/p&gt;
&lt;p&gt;A) Opened, photoshop, dreamweaver plus a few other programs running to get memory usage to 1GB. Then opened an Internet Explorer instance, and a c:\program files\ through &lt;/p&gt;
&lt;p&gt;file explorer. These should open fine, now try opening another 1 or 2+ windows of Internet Explorer. It won't let you open anymore windows, after 2 or 3. Photoshop also &lt;/p&gt;
&lt;p&gt;will not fill in forms, or open new images- it does not produce an error, just doesn't do anything. And you'll probably top out at 1.1GB memory used.&lt;/p&gt;
&lt;p&gt;B) Opened as many Internet Explorer windows as you can. When it hit the 1.1GB mark (commit), I could open no more.&lt;/p&gt;
&lt;p&gt;C) I opened some programs, and 33 Firefox windows, after opening C:\program files\ and a c:\windows\ trying then to open another c:\ I get a partially filled window. (ie: &lt;/p&gt;
&lt;p&gt;menus and other objects not rendering) So this is not an Internet Explorer issue.&lt;/p&gt;
&lt;p&gt;I have also tested these scenario B and C on the following machines /configurations:&lt;/p&gt;
&lt;p&gt;Lenovo P4 Single Core PC // 1GB RAM / 1GB PF (winXP (32bit) SP2 / IE6 and IE7)&lt;/p&gt;
&lt;p&gt;	- Issue Occurs at about 800 MB Commit&lt;/p&gt;
&lt;p&gt;HP 7800 Dual Core PC // 2GB RAM / 1GB PF (winXP (32bit) SP2 / IE7)&lt;/p&gt;
&lt;p&gt;	- Issue Occurs at about 1.1 GB Commit&lt;/p&gt;
&lt;p&gt;HP 7700 Dual Core PC // 4GB RAM / 1GB PF (winXP (32bit) SP2 / IE7)&lt;/p&gt;
&lt;p&gt;	- Issue Occurs at about 1.4 GB Commit&lt;/p&gt;
&lt;p&gt;Generic (Intel Motherboard / Kingston RAM) INTEL DUAL CORE PC // 8GB RAM / 2GB PF (Win2003 Enterprise R2 (32bit) SP2 / IE7)&lt;/p&gt;
&lt;p&gt;	- Issue Occurs at about 2.7 GB Commit&lt;/p&gt;
&lt;p&gt;Steps already tried:&lt;/p&gt;
&lt;p&gt;Pagefile: Various sizes, including no pagefile at all&lt;/p&gt;
&lt;p&gt;Boot.ini: adding /3G option (this did not change my results at all, still have a barrier)&lt;/p&gt;
&lt;p&gt;If anyone can shed some light on this issue or has a solution, it would be much appreciated!&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3196283</link><pubDate>Tue, 03 Feb 2009 11:57:11 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3196283</guid><dc:creator>Larry S.</dc:creator><description>&lt;p&gt;@Michael s. &amp;quot;I don't think he even implied that LSASS was AD specific.&amp;quot;&lt;/p&gt;
&lt;p&gt;I have to agree with Kerry C. here. The statement: &amp;quot;Lsass.exe (which hosts Active Directory services on a domain controller)&amp;quot; is somewhat ambiguous. It might have been better written as: &amp;quot;Lsass.exe (which &amp;lt;among other functions&amp;gt; hosts Active Directory services ...&amp;quot;&lt;/p&gt;
&lt;p&gt;I'm definitely a novice and the statement confused me because I know I have lsass running and I do not have AD on a single user XP Pro box. It's a truly minor point in an excellent article but a legitimate one IMO.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3196307</link><pubDate>Tue, 03 Feb 2009 12:57:07 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3196307</guid><dc:creator>Will</dc:creator><description>&lt;p&gt;I noticed the same problem on not being able to open more IE windows after a certain numbers of windows open or after a certain period of time on my newer pcs. I had 2 Dells running intel C2D/2GB that have this problem and i thought it was the pc itself. And then i built another 2 systems using AMD 64 X2 with Abit MB and 4GB ram and they does the same thing. But, i have 2 other older pcs running AMD Athlon XP with 1GB on one and 768mb on another that does not do this. These systems are all running XP Pro SP2(updated to SP3 lately). Still trying to figure out why it does that.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3199051</link><pubDate>Mon, 09 Feb 2009 04:19:20 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3199051</guid><dc:creator>Darren</dc:creator><description>&lt;p&gt;So I have just upgraded my laptop from 2GB RAM to 4GB on a 32-bit Vista installation. &amp;nbsp;I may move to 64-bit at some point, possibly as part of an upgrade to windows 7, but my maximum memory use is closer to 3GB than 3 1/2 GB, so there's just no pressing need at the moment.&lt;/p&gt;
&lt;p&gt;Given that I now have more memory than my computer can possibly use (after subtracting various graphics, driver, and legacy sections) given a 32-bit address space, what cost is there to me of disabling the page file entirely? &amp;nbsp;Swapping in this case does not increase the total amount of memory I can use, and should not make my system more stable. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;As far as I can see, it should only serve to make my system slower, by aggressively swapping out stuff I still want in memory.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3200623</link><pubDate>Wed, 11 Feb 2009 07:14:44 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3200623</guid><dc:creator>Virtigo</dc:creator><description>&lt;p&gt;Hi MR, thanks for the wonderful post as per usual. &amp;nbsp;I have a production SQL Dell 1950 server with 16 GB RAM and I am upgrading it to a capacity of 32 GB RAM. &amp;nbsp;It currently has the following:&lt;/p&gt;
&lt;p&gt;Peak Bytes: 33,325 Mb&lt;/p&gt;
&lt;p&gt;Commit Limit: 37,062 Mb&lt;/p&gt;
&lt;p&gt;Commit Peak: &amp;nbsp;34,269 Mb&lt;/p&gt;
&lt;p&gt;Paging Files as follows:&lt;/p&gt;
&lt;p&gt;C:\ Min: 2,048 Mb&lt;/p&gt;
&lt;p&gt;C:\ Max: 4,096 Mb&lt;/p&gt;
&lt;p&gt;D:\ Min: 6,144 Mb&lt;/p&gt;
&lt;p&gt;D:\ Max: 10,240 Mb&lt;/p&gt;
&lt;p&gt;P:\ Min: 6,144 Mb (Dell MD 3000 SAN)&lt;/p&gt;
&lt;p&gt;P:\ Max: 10,240 Mb (Dell MD 3000 SAN)&lt;/p&gt;
&lt;p&gt;Paging File Current Allocation: 14,336&lt;/p&gt;
&lt;p&gt;I would like to know how I can tweak my paging files to make sure I am using the RAM optimally once I install the additional 16 Gb&lt;/p&gt;
&lt;p&gt;Regards in advance&lt;/p&gt;
&lt;p&gt;Virtigo&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3203479</link><pubDate>Tue, 17 Feb 2009 17:36:35 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3203479</guid><dc:creator>Darren</dc:creator><description>&lt;p&gt;Just curious, I have also noticed this Limit with I.E. Dont think it is IE, just an interface that it uses. However, I also do not have this issue on an older machine. Is it possible that this is related to 64bit proccessors? Even if the OS is 32Bit most modern Proccessors are 64 bit capable?? Could there be something screwy happening here?&lt;/p&gt;
&lt;p&gt;Just as an aside, get to your limit with I.E, now close the last window and open Calculator, you can open this 3 or 4 times. I have looked at handles, threads, proccess, memory, nothing is coming close to its limit (Okay the physical memory was 1,7-1,74 GB but that is for me to arbitrary. If it is always 1,73 then its a point. but random values say somehting else to me.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3203485</link><pubDate>Tue, 17 Feb 2009 18:14:35 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3203485</guid><dc:creator>Darren</dc:creator><description>&lt;p&gt;okay, &amp;nbsp;maybe a little misleading in the previous post. It looks like it is reaching the maximum amount of User Handles/Objects and this is causing the strange behaviour. Calculator requires a lot less User Handles than IE :D&lt;/p&gt;
&lt;p&gt;I am interested though why I get more user handles in a machine with more RAM? I thought this was a set limit? can there be something with the way Windows is handling user handles when mor RAM is available? (Paging or not reading or whatever?)&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3203929</link><pubDate>Wed, 18 Feb 2009 11:40:56 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3203929</guid><dc:creator>Darren</dc:creator><description>&lt;p&gt;:D&lt;/p&gt;
&lt;p&gt;okay, this IE thing, it aint IE thing.&lt;/p&gt;
&lt;p&gt;Correct me where I am wrong and please fill in the blanks;&lt;/p&gt;
&lt;p&gt;Every Proccess in Windows (since i.E NT) has a hard limit of 10000 Handles. Wonderful&lt;/p&gt;
&lt;p&gt;Every Windows System (XP+) has a system wide limit of around 1,3 Million Handles. Brilliant&lt;/p&gt;
&lt;p&gt;Somewhere is a &amp;quot;User&amp;quot; limit, and I cannot find it. If I open IE winodws until nothing more runs then close 3, start a CMD and run testlimt -h I get 10000. Now open another IE Window and run it again. You get around 6000 &amp;nbsp; Why?! do it again and you get maybe 3k. If these are process limits, why are they getting capped by another process??!! There is another limit that I am missing. Sorry If I cant read and it is described already here.&lt;/p&gt;
&lt;p&gt;Is this a limit of the desktop heap or a User Handle limit? I am experiencing this problem on a citrix server and am trying to trouble shoot it. headache.&lt;/p&gt;
&lt;p&gt;maybe I am running in the wrong direction, but i got a warm feeling when I saw that handle limit suddenly drop.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3206007</link><pubDate>Tue, 24 Feb 2009 12:01:02 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3206007</guid><dc:creator>Richard</dc:creator><description>&lt;p&gt;I have a Windows 2003 R2 Enterprise server with 32 GB of RAM currently running a 32 GB pagefile. &amp;nbsp;The Peak Commit Charge is around 5 GB. &amp;nbsp;What size should I make the pagefile?&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3215542</link><pubDate>Fri, 20 Mar 2009 05:03:34 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3215542</guid><dc:creator>Jamie Hanrahan</dc:creator><description>&lt;p&gt;MarkR: Regarding setting the pagefile size, I must disagree with the advice in the article. &lt;/p&gt;
&lt;p&gt;You suggest subtracting RAM size from the peak observed commit charge and setting the pagefile size to the difference. &lt;/p&gt;
&lt;p&gt;Result: your pagefile plus RAM have enough space to accommodate your peak commit charge. &lt;/p&gt;
&lt;p&gt;However this does not leave any room in RAM for code! Or any other mapped files. Or for the operating system's varous nonpageable allocations. Remember, &amp;quot;commit charge&amp;quot; does not include these. &lt;/p&gt;
&lt;p&gt;My recommendation is to set up your maximum workload, then use the very convenient performance monitor counter, Page file / %usage peak. &lt;/p&gt;
&lt;p&gt;Your pagefile should be large enough to keep this under 25%, 50% at worst. &amp;nbsp;Reason - lots of breathing room helps avoids internal fragmentation of the pagefile. &lt;/p&gt;
&lt;p&gt;You really don't want to run the pagefile close to 100% full, especially with Vista and its much larger pagefile writes. &lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3233802</link><pubDate>Fri, 01 May 2009 04:10:25 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3233802</guid><dc:creator>Dick DeFer</dc:creator><description>&lt;p&gt;We recently got new Dell Workstation pcs, running 32 bit XP-sp3, with 4 GB ram (dual quad processors). &amp;nbsp;Due to frequent memory error messages, we had virtual memory set to 12280-12280. &amp;nbsp;This problem occurred using MS Word, MS Outlook, Adobe Acrobat Professional (reading 40 mb pdf), ArcMap and Microstation. &lt;/p&gt;
&lt;p&gt;No memory problems since. &amp;nbsp;Users can't run defrag or make system changes, so this was the administrator solution.&lt;/p&gt;
&lt;p&gt;Note: I was previously using a Dell Optiplex 620, same operating system, with 4 GB ram and never had virtual memory error messages.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3241654</link><pubDate>Fri, 15 May 2009 13:40:48 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3241654</guid><dc:creator>JamesW</dc:creator><description>&lt;p&gt;As a relative newcomer to computers I am curious,&lt;/p&gt;
&lt;p&gt;Given that 32bit windows XP/Vista/Windows 7 cannot address much more than 3GB RAM, and that hardware considerations may reduce this, If a machine has 4GB memory installed (e.g. 2x2GB) Is it possible for the remaining memory (if any) up to 1GB to be used as a RAMDRIVE.&lt;/p&gt;
&lt;p&gt;External Constraint prevent me from using a 64bit OS for now, and I feel it would be beneficial to make use of any unused portion of memory. It can be used to speed up systems perhaps by caching commonly used files following system startup or used for Virtual Machines as a container for Virtual Page Files rather than storing these on the Disk.&lt;/p&gt;
&lt;p&gt;Thanks for any constructive help and guidance.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3242174</link><pubDate>Sat, 16 May 2009 08:26:14 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3242174</guid><dc:creator>SuperGumby</dc:creator><description>&lt;p&gt;No James, XP/Vista/Win7 (x86) all happily address 4GB RAM, I think you are confused about the 2/2 or 1/3 address allocation available to each process.&lt;/p&gt;
&lt;p&gt;If instead you are questioning that part of 4GB that cannot be used by the OS due to memory mapped devices, there's no help here either. The device can (or cannot) be mapped above 4GB to make memory within the 4GB available but there's not much a 'user' can do about this.&lt;/p&gt;
&lt;p&gt;/out on a limb a little&lt;/p&gt;
&lt;p&gt;people have crazy ideas about ramdisks, put their paging files on ramdisk. What this actually does is cause the windows memory manager to page more often to (admittedly) faster 'space'. It may be beneficial in some circumstances but I don't think anyone should generalise a rule about it.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3244156</link><pubDate>Thu, 21 May 2009 18:11:07 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3244156</guid><dc:creator>Bob</dc:creator><description>&lt;p&gt;I've seen a couple of things here on SQL, but I am still questioning the recommended pagefile size for a MS SQL server (SQL 2005, 64-bit) with 32 GB of physical RAM. &amp;nbsp;1.5 x says it should be 48 GB, which seems huge to me. &amp;nbsp;I've looked at the perfmon stats and the pagefile useage is usually less than 10% of my current 4 GB pagefile, so why would I need a bigger pagefile than that?&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3244180</link><pubDate>Thu, 21 May 2009 19:25:55 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3244180</guid><dc:creator>David M</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;The way I looking at is that long time ago when x64 did not exist was needed apply the 1,5 figure. Nowadays this is no longer needed. With such as amount of memory and having x64, this is the most important, 4Gb of page file is more than enough. &lt;/p&gt;
&lt;p&gt;I strongly recommend you take a look at:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://support.microsoft.com/kb/889654"&gt;http://support.microsoft.com/kb/889654&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hope this clears up your question.&lt;/p&gt;
&lt;p&gt;Cheers.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3245103</link><pubDate>Sun, 24 May 2009 20:38:59 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3245103</guid><dc:creator>JamesW</dc:creator><description>&lt;p&gt;Thankyou SuperGumby,&lt;/p&gt;
&lt;p&gt;You are right I am somewhat confused by the 2/2 1/3 rules but this is in itself complicated by virtue of the fact that many (but not of course all) so called &amp;quot;Authorities&amp;quot; including Magazines and related Authors, Manufacturers of Computers and Computer Accessories in particular Laptop's and smaller computers to name a few who state that 32bit Windows on most if not all Computers cannot address much more than 3GB of physical memory.&lt;/p&gt;
&lt;p&gt;There may be genuine reasons such as chipset limitations or limitations imposed by drivers, the kernel in relation to hardware, where certain hardware may not access or address all memory above around 3GB.&lt;/p&gt;
&lt;p&gt;It would be helpful if the article could be updated to give examples where there might be hardware, kernel, driver or other limitations rather than just a general Operating Systems limitation.&lt;/p&gt;
&lt;p&gt;In my case I intend to install and use more than 4GB of RAM on hardware which supports it, as I would be dual-booting between 32bit XP and 64bit Linux and running Virtual Machines from either. The only reason for using XP is that certain software particularly that which relates to hardware such as hardware support tools from manufacturers, and certain applications for playback of copywrited materials such as some DVD's and BlueRay disks cannot be run from Linux or within a Virtual Machine (As far as I am aware)&lt;/p&gt;
&lt;p&gt;As I can apparently address the full 4GB from within 32bit XP then I will increase the memory allocation to the Virtual Machine and reduce or remove dependancy on Page Files/Swap Space for Virtual Machines.&lt;/p&gt;</description></item><item><title>Fantastic guide!  One more question...</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3271426</link><pubDate>Fri, 07 Aug 2009 09:12:13 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3271426</guid><dc:creator>Raptor007</dc:creator><description>&lt;p&gt;Hey, just wanted to thank you for an excellent guide! &amp;nbsp;You really cleared up some of the mystery of how Windows handles its virtual memory addressing.&lt;/p&gt;
&lt;p&gt;I had another question that I couldn't quite figure out. &amp;nbsp;In 32-bit Windows, is there a maximum of 2GB (or higher with 4GT) of user address space PER process, or TOTAL for all processes? &amp;nbsp;More simply, could I run two memory-hungry applications and let them each allocate 2GB, provided I have sufficient physical and pagefile memory available?&lt;/p&gt;
&lt;p&gt;The reason I ask is that it would help me pick the ideal pagefile size and the 4GT setting. &amp;nbsp;If the user address space is a total for ALL applications, that would suggest 4GT would assist with any amount of physical memory and that there's no point to having more than 4GB of physical + pagefile memory. &amp;nbsp;Conversely, if EACH process can have a full-sized user address space of its own, 4GT would be pointless on a system with 2GB or less of physical memory, and pagefiles could conceivably be well-utilized at any size (depending on how many processes you are running).&lt;/p&gt;
&lt;p&gt;I'm guessing based on your article that 32-bit Windows memory management is able to keep more than 4GB of total virtual address space, separated into chunks that each fit into a 32-bit space. &amp;nbsp;But I'd like a definitive answer from someone more knowledgeable in this area.&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3271853</link><pubDate>Sun, 09 Aug 2009 13:09:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3271853</guid><dc:creator>Jamie E Hanrahan</dc:creator><description>&lt;p&gt;&amp;gt; In 32-bit Windows, is there a maximum of 2GB &lt;/p&gt;
&lt;p&gt;&amp;gt; (or higher with 4GT) of user address space PER &lt;/p&gt;
&lt;p&gt;&amp;gt; process, or TOTAL for all processes? &amp;nbsp;&lt;/p&gt;
&lt;p&gt;The former. Hence &amp;quot;user address space&amp;quot; is also called &amp;quot;per-process&amp;quot; address space. You get 2GB of it per process. Or 3GB with the /3GB option. &lt;/p&gt;
&lt;p&gt;&amp;gt; More simply, could I run two memory-hungry &lt;/p&gt;
&lt;p&gt;&amp;gt; applications and let them each allocate 2GB, &lt;/p&gt;
&lt;p&gt;&amp;gt; provided I have sufficient physical and &lt;/p&gt;
&lt;p&gt;&amp;gt; pagefile memory available?&lt;/p&gt;
&lt;p&gt;Yep. In fact you would not need physical + pagefile space for 2GB x nProcesses if they're doing a lot of file mapping instead of VirtualAlloc and similar - see below. &lt;/p&gt;
&lt;p&gt;&amp;gt; The reason I ask is that it would help me pick &lt;/p&gt;
&lt;p&gt;&amp;gt; the ideal pagefile size and the 4GT setting. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;The ideal thing is to stop worrying about &amp;quot;ideal&amp;quot; pagefile size - just make it big enough to keep actual pagefile usage fairly low. I like to see it below 50% absolute worst case, ideally below 25%. With modern hard drive prices this should not be difficult. &lt;/p&gt;
&lt;p&gt;&amp;gt; Conversely, if EACH process can have a full-&lt;/p&gt;
&lt;p&gt;&amp;gt; sized user address space of its own, 4GT would &lt;/p&gt;
&lt;p&gt;&amp;gt; be pointless on a system with 2GB or less of &lt;/p&gt;
&lt;p&gt;&amp;gt; physical memory, &lt;/p&gt;
&lt;p&gt;No, not at all. Not everything has to be paged in (that is, in physical memory) just because it's defined. &lt;/p&gt;
&lt;p&gt;Remember that the whole point of paging and virtual memory systems (well, one of the main points) is something akin to a 90/10 rule: most programs spend 90% of their time referencing 10% of the address space they have defined. The rest can be kept out on disk. Or 80/20, or whatever - but for almost all programs the ratio is not much lower than that. &lt;/p&gt;
&lt;p&gt;For example, if you never use the &amp;quot;spell check&amp;quot; function in Word, that stuff never gets paged in. But if it was linked with the app at link time, it occupies virtual address space whether it's used or not. &lt;/p&gt;
&lt;p&gt;So a process might take advantage of the (strangely named) &amp;quot;4GT&amp;quot; option and use up to 3GB of v.a.s., but to run efficiently might need only 300 MB of RAM (&amp;quot;working set&amp;quot; in the Vista Task Manager). You might have a several processes like that and they would likely be just fine in 2GB RAM. &lt;/p&gt;
&lt;p&gt;Another point re. pagefile size is that code (as opposed to process-private writeable data) normally never gets paged out to the paging file - but of course when it's being executed it does have to live in RAM and it does occupy process virtual addrsss space. The total virtual address space defined by a process includes both &amp;quot;pagefile-backed regions&amp;quot; (also called &amp;quot;process-private&amp;quot;, &amp;quot;private bytes&amp;quot;, and &amp;quot;committed&amp;quot; memory) &amp;nbsp;and &amp;quot;memory mapped regions&amp;quot;. The latter is how program code is accessed, and it can also be used for data files. &lt;/p&gt;
&lt;p&gt;Thus the total v.a.s. possible on a system is NOT limited to RAM + pagefile size; it may be much larger. The &amp;quot;extra&amp;quot; is in all the mapped files, which include every exe and dll currently in use. &lt;/p&gt;
&lt;p&gt;&amp;gt; I'm guessing based on your article that 32-bit &lt;/p&gt;
&lt;p&gt;&amp;gt; Windows memory management is able to keep more &lt;/p&gt;
&lt;p&gt;&amp;gt; than 4GB of total virtual address space, &lt;/p&gt;
&lt;p&gt;&amp;gt; separated into chunks that each fit into a 32-&lt;/p&gt;
&lt;p&gt;&amp;gt; bit space. &amp;nbsp;But I'd like a definitive answer &lt;/p&gt;
&lt;p&gt;&amp;gt; from someone more knowledgeable in this area.&lt;/p&gt;
&lt;p&gt;Yes. You can demonstrate this easily with the Performance Monitor tool. Click the big Plus sign (Add counter to chart), select the Process class of objects, select the &amp;quot;virtual bytes&amp;quot; counter (this includes both pagefile-backed and mapped address regions), and select the &amp;quot;Total&amp;quot; instance. On any reasonably busy system you will likely get a number quite a bit larger than 4GB. &lt;/p&gt;
&lt;p&gt;The URL I've given here is not my URL, but is a link to a forum post at arstechnica.com that illustrates how the per-process address spaces look in a memory map. Also read the next post by the same author (two posts down). &lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3272577</link><pubDate>Wed, 12 Aug 2009 04:54:53 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3272577</guid><dc:creator>Raptor007</dc:creator><description>&lt;p&gt;Thanks for the great post Jamie!&lt;/p&gt;
&lt;p&gt;You bring up an excellent point about applications allocating more memory than they will use frequently, so I think I will try setting the 4GT on my desktop PC to 2.5/1.5, even though it has only 2GB RAM.&lt;/p&gt;
&lt;p&gt;I've given both of my machines fixed 4095MB contiguous pagefiles, so regardless of how much or little paging is necessary at any time, there should be no fragmentation caused by the pagefile changing sizes.&lt;/p&gt;
&lt;p&gt;Now, one last question... is Windows smart enough to avoid paging out when there's plenty of physical memory to go around? &amp;nbsp;In other words, is there any disadvantage to having a large pagefile?&lt;/p&gt;</description></item><item><title>re: Pushing the Limits of Windows: Virtual Memory</title><link>http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx#3273433</link><pubDate>Fri, 14 Aug 2009 10:26:45 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3273433</guid><dc:creator>Jamie Hanrahan</dc:creator><description>&lt;p&gt;&amp;gt; is Windows smart enough to avoid paging out &lt;/p&gt;
&lt;p&gt;&amp;gt; when there's plenty of physical memory to go &lt;/p&gt;
&lt;p&gt;&amp;gt; around? &amp;nbsp;&lt;/p&gt;
&lt;p&gt;In general yes. If free RAM is plentiful processes will be allowed to grow their working set (roughly &amp;quot;what they have paged in&amp;quot;) above the usual limits. If RAM later becomes scarce, one of the first reclamation mechanisms is that these &amp;quot;extended&amp;quot; processes are shrunk back down. &lt;/p&gt;
&lt;p&gt;However that little experiment with the virtual bytes counter should show you that you can't expect to keep everything in RAM all the time, or even everything that's useful in RAM. &lt;/p&gt;
&lt;p&gt;The page I/O rates, also visible in Performance Monitor, will tell you how much paging is happening, but it's very difficult to tell how much paging is due to low memory conditions and how much is due to the fact that, in a virtual memory OS, paging happens. All code and pre-initialized data is brought in via paging, for example. So are the contents of all data files that are opened without bypassing the file cache. &lt;/p&gt;
&lt;p&gt;Even the page write rate is not directly useful, because you don't know how many of the pages written are going to be needed again soon, or ever. &lt;/p&gt;
&lt;p&gt;A &amp;quot;page re-read rate&amp;quot; would be a really useful counter to have: How many pages are being faulted in from disk that were previously pushed out of RAM? Alas this counter does not exist and I know of no way to calculate or infer it from existing data. &lt;/p&gt;
&lt;p&gt;One other hint: Your paging I/O rates do not reflect only the pagefile, because all mapped files (exe's, dll's, data files accessed via the file cache as well as through direct file mapping) are read and, if appropriate, written by the pager. If you want to know the page I/O rates to just the pagefile, the only way I know of is to put the pagefile by itself on a partition and then use the partition (logical disk) I/O counters. And this is about the only good reason for putting the pagefile in a partition of its own on a multi-partition disk. &lt;/p&gt;
&lt;p&gt;&amp;gt; In other words, is there any disadvantage to &amp;gt; having a large pagefile?&lt;/p&gt;
&lt;p&gt;This is really a larger question, but no, not to my knowledge. In particular, increasing the size of the pagefile will not &amp;quot;attract&amp;quot; more page-out activity than would otherwise occur, all things being equal... and it will help keep the internal fragmentation of the pagefile low. &lt;/p&gt;</description></item></channel></rss>