Ahhh, the amazing feeling of realisation that your prior idiocy of disabling the page file and "hoping" you'd never fall off the cliff...
*Picture*
*Picture*
*Picture*
*Picture*
*Picture*
Those images are an indication of paged and nonpaged pool being exhausted, as highlighted in Mark Russinovich's
Pushing the Limits of Windows: Paged and Nonpaged Pool article. May I ask what that has to do with the paging file?
I am certainly not suggesting others to go ahead and disable the paging file because it's useless. In fact, I am doing the opposite (or trying too anyway) and would recommend having a paging file and highlighting the benefits of one. I just don't agree with the scaremongering surrounding the subject.
So basically it doesn't have any impact at all, as we've seen people disable it and seen no negative implications, and we've heard from people who enable it and have seen no negative implications.
The paging file has an impact on the system in a various of ways. The most important being related to the system commit limit. The commit limit is the sum of most of physical memory plus the size of the paging file(s). When processes allocate certain types of virtual memory, the allocation gets counted against the commit limit. Windows is making you a commitment that it will be able to back that data by physical memory, or store it on disk in the paging file.
Whether or not a paging file is required is going to depend on the amount of system commit the workload requires in relation to the physical memory capacity of the machine. If for instance the machine which you're using has 6GB of physical memory and the workload which you're running requires 7GB of system commit, you would need a paging file of at least 1GB to support it. If the paging file is any smaller than that, you will hit the system commit limit.
(The above is in a best case scenario)
If the amount of physical memory of the machine exceeds your workloads system commit requirements, you don't need a paging file and Windows will run perfectly fine without one under those circumstances. For example, you have a machine which has 8GB of physical memory and your workload requires 5.5GB of system commit. However, there are a couple of disadvantages with having no paging file.
- The subset of pages on the modified page list which could get written out to the paging file will no longer be able too. This results in less memory being available for other purposes.
- The system won't be able to generate crash dumps. This will also apply to cases whereby you have one, but it isn't large enough to support the crash dump you are configured for.