Running low on paged pool memory


flipside

 

Posted

I am increasingly beginning to get this error when playing games on my PC, including CoH. The error simply states that I am running low on paged pool memory and more should be allocated to maintain performance. I'm not sure where this error is coming from, and why it is just starting to be an issue.

The PC has, as far as it can see, 3.25GB of RAM and the Virtual memory paging file size is set for 2046MB. 3.25GB of available RAM seems strange to me as I'm positive I have 4GB in the machine.

I am only running one game client at a time, with no other applications open. I am running Norton Internet Security 2011 while playing, but I have been doing so for a long time without this error. I have run several virus scans, a safe-mode virus scan and several ad-ware/malware detectors and come up with nothing. I have defragged the machine even though the analysis said it didn't need it (running Windows XP). I'm up-to-date on all Windows patches. This is a "gaming only" system, so there is no other software on this machine besides a few games.

I'm at a loss of where to look or what to research. Anyone got any ideas I could look into? Thanks in advance!


Main Character: Ice/Storm/Ice Controller (Justice, 1340 badges)

 

Posted

Sounds like you are running a 32 bit version of Windows - that can only address a total of 4Gb of memory space and your graphics card (and to a lesser extent other hardware) will take a bite out of that.

Are you leaving the launcher running in the background. That is known to have a memory leak so its best to set that to close once it has started the game.


Mind of Gaia lvl 50 Defiant's first Mind/Storm 'troller.
Deadly Doc 50 Dark/Dark Corr
and lots more on Pinnacle,Union and Defiant

 

Posted

Quote:
Originally Posted by flipside View Post
I'm at a loss of where to look or what to research.
When you get the error, open the Task Manager (Ctrl+Alt+Del). It will list what is running and how much memory each item is using (plus CPU usage).


Paragon City Search And Rescue
The Mentor Project

 

Posted

Edited To Reduce Brain Numbing And Pages Of Reference Links...

Right clicking 'My Computer' and selecting 'Properties' will bring up a window that will say exactly which version of windows you're using (including the service pack) as well as the amount of memory it can see. This isn't as detailed as the earlier suggestion (task manager), but it works well enough in this case.

Physical Memory
32bit Windows is only going to be able to map out 3.5Gb of physical RAM. This means that say you have a 256Mb video card, then when windows maps memory it starts with that 256Mb leaving 3.25Gb of mapping space left. So if you have 4Gb of ram and a 356Mb GPU, then you're essentially wasting the last 768Mb.

Virtual Memory
You should NEVER set your swap file smaller than your Physical Memory!!! This will cause problems. Think of it kinda like a puzzle (the kind with like 5000 pieces). You always need a table big enough for all the pieces in the final arrangement. You also need room for that box that houses the unplaced pieces as well as the various incarnations of piece arrangments as you approach completion of the task.

Generally speaking, it is a best practice to set the swap file to atleast 1.5 * Physical Memory. If you look at what Windows itself suggests and divide that by 1024, then you'll likely come up with 1.5 * Physical Memory. Some people say 3x or more, but it honestly depends on what you're doing. In the case of gaming, probably not gonna matter. One other important thing to do is to set the min/max size of the swap file to the same number. This reduces the resizing of the file and load on the drive that you put it on. It's a good idea to put the file on the first partition of the fastest drive in the system, preferably on a secondary drive, separate from the OS. This way the OS and the swap file can work independantly. When increasing the size of the swap file windows shouldn't ask for a reboot (not so with decreasing btw).

Invisibly to you and nomatter what you tell Windows to set it to, if the OS needs more swap space, then it will make some, temporarily (until you reboot) unless you happen to run out of drive space in the process. There is a /3Gb function/tweak, but it only works IF the hardware and application support it (IE: I don't think that CoX does as most don't by default unless coded as such).


In Short
If you have a second drive in that computer, then set the swap file on that drive's first partition. If you only have one drive, then put it on the C: partition. Set the file's min/max size to what Windows recomends.


*awaits the number crunchers and their DIMMs of 'expert' wisdom*


 

Posted

Thanks all for your responses! Replying below.

Quote:
Originally Posted by Gaia View Post
Sounds like you are running a 32 bit version of Windows - that can only address a total of 4Gb of memory space and your graphics card (and to a lesser extent other hardware) will take a bite out of that.

Are you leaving the launcher running in the background. That is known to have a memory leak so its best to set that to close once it has started the game.
That is correct, I am running a 32 bit version of Windows XP. I am not leaving the launcher open in the background after starting up.

Quote:
Originally Posted by Ironblade View Post
When you get the error, open the Task Manager (Ctrl+Alt+Del). It will list what is running and how much memory each item is using (plus CPU usage).
Doing this, the top three appear to be the heavy hitters, those being CoH (around 900MB), svchost.exe (around 20MB), and explorer.exe (around 20MB). After that it goes from about 8MB down to less than 1MB for about a dozen processes, that's about it.

Quote:
Originally Posted by WanderingAries View Post
Physical Memory
32bit Windows is only going to be able to map out 3.5Gb of physical RAM. This means that say you have a 256Mb video card, then when windows maps memory it starts with that 256Mb leaving 3.25Gb of mapping space left. So if you have 4Gb of ram and a 356Mb GPU, then you're essentially wasting the last 768Mb.
Ok. This makes sense, but my math doesn't appear correct then. My video card (Radeon HD 5700 series) has 1024MB of RAM. I would think then that my System display would show 3GB of RAM then, correct?

Quote:
Originally Posted by WanderingAries View Post
Virtual Memory
You should NEVER set your swap file smaller than your Physical Memory!!! This will cause problems. Think of it kinda like a puzzle (the kind with like 5000 pieces). You always need a table big enough for all the pieces in the final arrangement. You also need room for that box that houses the unplaced pieces as well as the various incarnations of piece arrangments as you approach completion of the task.
So what I read here is that, if my system display shows I have 3.25GB of RAM available for the system, then my virtual memory should also be set to 3.25GB as well, correct?

Quote:
Originally Posted by WanderingAries View Post
In Short
If you have a second drive in that computer, then set the swap file on that drive's first partition. If you only have one drive, then put it on the C: partition. Set the file's min/max size to what Windows recomends.
Unfortunately I don't have a second drive on this computer, only a single drive. I'm considering getting an SSD for the main drive on this PC to help speed things up and use it's current drive as a secondary drive.


Main Character: Ice/Storm/Ice Controller (Justice, 1340 badges)

 

Posted

Quote:
Originally Posted by flipside View Post
Ok. This makes sense, but my math doesn't appear correct then. My video card (Radeon HD 5700 series) has 1024MB of RAM. I would think then that my System display would show 3GB of RAM then, correct?
sort of! Windows will take the memory pages addressed by your graphics card and allocate that to the top of its address map. If the card is paging the memory on it then several of those pages can map to the same address space but yes in general subtract the size of your cards memory from 4gb - then knock off a bit more for other drivers etc typically 256 to 512 Mb. If you have more system memory than what is left it cannot be accessed by standard 32bit MS OSs.

Quote:
Originally Posted by flipside View Post
So what I read here is that, if my system display shows I have 3.25GB of RAM available for the system, then my virtual memory should also be set to 3.25GB as well, correct?
a good rule of thumb is 1-2x physical memory in your case I'd go for something between 3Gb and 8Gb - this can come down if you have a lot of physical memory and indeed can be disabled altogether. Your system will continue to work perfectly well - up until it runs out of physical RAM then if you have a cache file your system will allocate more (incrementally by your system page size) until you run out of disk space at which point it will crash with an Out of Memory error. otoh if you do not have a cache enabled then you will see that error as soon as you run out of physical RAM.
Note also that accessing disc cache is a *LOT* slower than accessing physical RAM and this can be seen in CoH as lag spikes when your system needs to page memory to and from the cache file.
In short unless you fully understand how memory caching works don't disable it.

Ideally the cache should be located on your fastest disk and if the OS supports it then use a dedicated cache partition rather than a cache file (*nix variants do, I don't think Windows does). Just don't create a RAM disk and then put the cache on that! (actually that could be valid if you have more RAM than the OS can access AND have drivers and specialist software to access the rest. - Upgrading to a 64bit OS would probably be cheaper though.)


Mind of Gaia lvl 50 Defiant's first Mind/Storm 'troller.
Deadly Doc 50 Dark/Dark Corr
and lots more on Pinnacle,Union and Defiant

 

Posted

Quote:
Originally Posted by flipside View Post
Thanks all for your responses! Replying below.
Ok. This makes sense, but my math doesn't appear correct then. My video card (Radeon HD 5700 series) has 1024MB of RAM. I would think then that my System display would show 3GB of RAM then, correct?
Firstly, the system will show a max of 3.5Gb of RAM as that's all it can use. The pooling talked about here is just how windows arranges its memory that it uses, but see below for more details.

Think of it this way, your video memory takes the first portion of the
available pool. Therefore your 1024VRAM takes 0-1024Mb of the 3.5Gb pool (nomatter how much physical you have). That leaves the 1025Mb-3.5Gb region for your apps and the OS to share. Considering what I said earlier, that leaves roughly 2Gb of pooled memory for apps beyond essential (IE: anything you intentionally run like explorer, CoX, etc).

So in your case while you have 4Gb of RAM because you also have 1Gb of VRAM this means that even though the combined number is 5Gb, the system will still end up only using about 2.5Gb of the system RAM because the VRAM is given priority in how the OS pools things. Thus, you're not using the last 1.5Gb of that RAM unless you upgrade to a 64bit OS. While this may sound like a good upgrade (and it probably is) you have to consider that the more powerful OS will also use more resources as well.

For example, on my laptop, if I have WinXP x86 running, then the OS takes around 300-600Mb of the system RAM. With Win7 x64 I see the OS take something like 1024Mb-1.5Gb by itself! So in your case if you had Win7 x64 you would be able to use all of the onboard memory, but it would look something like this in the mapping:

0 - 1024Mb --> GPU
1025Mb - 2.5Gb --> OS
2.5Gb - 5Gb --> General Apps

That's how it'd map it so while you regain that last 512Mb of usable RAM, you still only end up able to use 2.5Gb for non-essential applications. Granted, for someone playing a single instance of CoX, then this is more than adequate. You could probably play in ultra mode at full settings if you tried.

Quote:
So what I read here is that, if my system display shows I have 3.25GB of RAM available for the system, then my virtual memory should also be set to 3.25GB as well, correct?
A better/simpler thing to do is as I said above. Find what windows 'thinks' you should have it set to, make the max/min values that number, and (for now) place that on the C: drive. Do this and never think about it again...unless you're going to do some high end editing or something that's extremely memory intensive.


Quote:
Unfortunately I don't have a second drive on this computer, only a single drive. I'm considering getting an SSD for the main drive on this PC to help speed things up and use it's current drive as a secondary drive.
This is an area I don't have direct experience, but you definitely want your windows partition on it and place things like your documents, etc on the regular (SATA?) drive. SSD's are great for things like random access, but drop to normal performance with sequencial operations. I 'think' they also negate the need to defragment as well, but I'm not 100% on that.