Should the paging file be moved from C: drive?

Should the paging file be moved from C: drive to another drive? This was the question I received today and thought I’d share my response to this.

There is no general answer for all situations, so this question needs more information about the environment. This is why you will not (and should not) find any official articles answering this question in any generalized form.

First, the paging file must be able to accommodate the crash dump settings. Windows Server 2003 requires the paging file to be on the system partition and be large enough to accommodate the crash dump setting. Windows Server 2008 and later allows the paging file to be on other direct attached drives when accommodating a crash dump. Complete memory dumps requires the paging file to be 1xRAM + 1 MB, Kernel memory dumps vary based on the amount of kernel memory usage such as pool paged and pool non-paged sizes estimating roughly 100 MB for every 1 GB of RAM. Small dumps require about 1 MB of a paging file.

Second, it depends on the amount of system committed memory that has been promised. The system commit limit is the size of RAM + paging files. It must always be larger than the system commit charge. The system commit charge will vary based on actual usage. With that said, committed memory doesn’t *not* mean that the paging file is actually being used. If the system commit charge is very large, but little of it is “touched”, then having a paging file on a slow disk drive is fine because the paging file is not really being used – just there to accommodate the commit charge *if* it happens to become “touched” memory.

Third, assuming the C: drive is a slow drive and that the system commit charge is greater than RAM, and the committed memory is actually “touched”, then the performance of the disk where the paging file is at is important. A page is 4 KB, so a sustained 1000 pages/sec (hard page faults) is 4 MB per second. Most 7200 RPM disk drives can handle 10 MB per second for reference.

If paging files are defined across multiple disks, then the paging file that is available first is used – meaning this is a load balanced situation which can help. Ultimately, if the paging file is *really* being used this much, then just add more RAM or place the paging file on a SSD.

In short, moving the paging file really depends on how much the paging file(s) are really being used (touched memory), the crash dump settings, version of the operating system, the system commit charge at peak, and disk drive performance.