Page Files to turn off or on?

Associate
Joined
25 Sep 2011
Posts
37
I have recently built a PC and keep find that it hangs.

I've built with the following spec.

ASUS P8Z68-V Pro
Corsair Force 3 60gb SSD Drive with Windows 7 Pro 64bit installed
Kingston SSD Now 96gb which has the programs installed onto
750gb HDD Drive - data with 8gb partitioned for the page file
8gb memory 1600mhz


I have set window to use the 8gb partition on the data drive for the page files. Could this becausing the pc to hang, I'm finding this happens a lot when trying to multitask, i.e. using multiple internet pages and other apps at the same time.
Is it worth turning off page files as I have 8gb memory or not?


I have enable TRIM using a Command script, so I'm not sure what could be causing these hangs.


Regards

Skip
 
Page file looks fine to me. Though it would be better placed on the SSD drive.

The hangs could be almost anything. Sounds device driver, USB device or IRQ related to me.
 
I do not understand why having the page file on the SSD would be better.
Aren't you not supposed to write so much the the SSD in order to make it last longer?

The Page files are constantly being updated, so more and more is written to the SSD causing a short life span
 
If you wanted to match file usage to SSD beneficial traits the pagefile would win.

It's the perfect place for it. You will not wear it out in a meaningfully faster time with it on there.
 
I love that the ssd paranoia still exsits.

Spends large sum of money on ssd (relative to storage)

Install ssd

Do everything possible not to use ssd.
 
There is so much rubbish about the windows page file its untrue, even in "stickies". The simple fact is, you should have the pagefile enabled, although you can disable it you can't fully prevent the OS from using a pagefile.

Personally, I am of the firm believer that you should manually set the page file for min and max to be the same size. This will stop the pagefile from being fragmented.

Similarly, for optimal performance you should have a pagefile at least on each drive, even each partition.

To view the pagefile usage, run the following command (this is Server 2008r2):

pagefile.gif


Code:
start > run > cmd > wmic > pagefile

You can see I have in total 28000mb (this seriously needs reducing) but you can clearly see that I am using under 200mb on each drive even at peak.

Still don't believe me?

microsoft said:
By design, Windows uses the paging file on the less frequently accessed partition over the paging file on the more heavily accessed boot partition. An internal algorithm is used to determine which paging file to use for virtual memory management.

http://support.microsoft.com/kb/314482. Ok so its for XP, but my testing from xp, 7, vista, server 2003, 2008 and 2008 r2 all shown the same behaviour.
 
Last edited:
^

WMIC not WMI though :)

The MS blurb that quote is from is dated 2007 though. I imagine performance related guidelines are based on physical platters with access times.

I say manually set on SSD, job done.
 
Last edited:
^

WMIC not WMI though :)

The MS blurb that quote is from is dated 2007 though. I imagine performance related guidelines are based on physical platters with access times.

I say manually set on SSD, job done.

Yes, you are quite right it is an old article even my screenshot with the stupid size of pagefile quite clearly shows its being used on each drive so I can only conclude their is a load evaluator that decides which drive to use and this is on server 2008 r2.
 
Currently testing windows with it disabled. Used to run with it disabled a few years ago & had problems.

Now, after about 3 weeks had no trouble. However, I use mine for gaming & general use. Nothing that would tax the memory very harshly.
 
The simple fact is, you should have the pagefile enabled, although you can disable it you can't fully prevent the OS from using a pagefile.

While a paging file is beneficial, it is by no means necessary. If you disable the paging file, it really is disabled. Windows can run perfectly fine without one. The role of the paging file is so the system can write pages on the modified page list, which represent pages that aren't being accessed actively, but have not been saved to disk, out to the paging file. If there is no paging file, those pages won't be written out to disk. While this will result in less memory being available, Windows isn't going to function any differently.

What has to be taken into account though is related to the system commit limit. When a process allocates certain types of virtual memory, the allocation gets charged 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 a paging file. The limit is therefore the sum of physical memory (or most of), plus the size of the paging file(s). When you hit the system commit limit, processes won't be able to allocate the virtual memory they want and will fail to run correctly.

You can monitor the system committed virtual memory usage of the system with a tool like Process Explorer. The information will be shown under the 'Commit Charge (K)' section of the 'Memory' tab.

Commit Charge (K):

  • Current - This represents the amount of committed virtual memory processes have currently allocated which must be backed by physical memory or stored in the paging file.

  • Limit - This represents the amount of committed virtual memory processes can allocate at any one time and is the sum of most of physical memory and the size of the paging 'file(s).

  • Peak - This represents the total amount of committed virtual memory processes have allocated since the system booted which must be backed by physical memory or stored in the paging file.

Whether you can disable the paging file or not is going to primarily depend on how much system committed virtual memory your workload requires in relation to the amount of physical memory of the machine. If you have enough physical memory to support your workloads system commit, you can theoretically run with no paging file. For example, your machine has 4GB of physical memory, and your workload requires 2.5GB of system commit.

However, there are a couple of disadvantages by having no paging file. Firstly, modified pages that could be written to the paging file (and then subsequently moved to the standby page list where they can contribute to 'available' memory) will be forced to stay on the modified page list, and therefore, taking up space in memory. Secondly, the system won't be able to generate crash dumps.

One other thing which is worth mentioning, because it can be a problem, is regarding certain applications failing to run because the paging file has been disabled. If we assume the issue isn't due to the fact that the user is hitting the system commit limit, which may give the illusion the application requires a paging file.

There are certain applications, Dawn Of War II being an example, which genuinely won't run if the paging file has been disabled. The reasoning behind this though isn't because a paging file is necessary, but based on that very misconception.

Mark Russinovich said:
These apps could very easily be querying directly for the existence of a paging file and failing if one’s not present, based on the misconception that one is necessary.

If you're going to have a paging file, and would like to size it yourself, to find out how large it needs to be on your own system, take a look at the peak commit charge after you have attained your maximum workload. The difference between that value and the amount of physical memory of the machine is the size of the paging file which you will need to be able to run your workload.

For instance, if your machine consists of 4GB of physical memory, and your workload requires 5GB of system commit, you would need a paging file of at least 1GB to support it. This should be the bare minimum for the initial size of the paging file. You would want to add extra onto that value to give yourself some breathing room. If you are interested in crash dumps, make sure it's large enough to accommodate them as well. For the maximum size, you could double what you have set the initial size value too.

Personally, I am of the firm believer that you should manually set the page file for min and max to be the same size. This will stop the pagefile from being fragmented.

If this is something that concerns you, even though the paging file is able to expand and contract, it will only do so if there is a demand for it. The paging file will grow when the current commit charge nears the commit limit, which will mean the limit will also grow. It will grow right up and till the paging file has hit it's maximum size, assuming there is a demand for it. As long as the initial allocation is sufficient, the paging file will never need to grow, and the maximum simply serves as a safety net.

Edit - Rearranged the layout of the post to make it slightly clearer.
 
Last edited:
One other thing which is worth mentioning, because it can be an problem, is regarding certain applications failing to run because the paging file has been disabled. If we assume the issue isn't due to the fact that the user is hitting the system commit limit, which may give the illusion the application requires a paging file.

And that's why I think its pretty stupid to not run a paging file. If you have so much ram that you believe you don't need a paging file, then you will undoubtably have lots of hard drive space. 1Tb and even 2Tb are relatively cheap now, afterall. Why not set just a 2Gb page file. If, as you say, you never need it anyway, this won't have any real impact on system performance, but prevents any programs which require a paging file for whatever reason from crashing.
 
Back
Top Bottom