Friday, March 29, 2019

64 bit - Getting 'running low on memory errors' on Windows 7 64-bit with 8GB RAM



I have a new Dell laptop running Windows 7 64-bit with 8GB RAM. If I leave the system running overnight I start getting low memory errors the next day. Looking at Task Manager it shows 6.27GB used but looking at the processes list the totals don't show nearly that much. I am showing all processes from all users.



I have also looked at the processes with Process Explorer and see the same results.



Using Resource Monitor I see 4165MB in use, 2328MB modified and 1352MB standby with only about 345MB free. These numbers don't seem to add up to what I have running (Visual Studio 2010 along with a number of IE8 sessions).



I have run the same set of apps on Windows XP SP2 32-bit with 4GB of memory and never had this sort of problem.




What is modified memory? What is standby memory?



Any suggestions on what might be the issue and how to fix it?


Answer



If you have process explorer, check under Kernel memory - when my nvidia graphics driver crashes, I leak about 2gb of memory into there.



If you're looking at the paging lists in process explorer, it breaks down as follows:
Zeroed - These pages are unused and have been overwritten with zeroes.
Free - These pages aren't allocated at all.

Modified - An application has changed this page, and it needs to be written to disk before it can be replaced.
ModifiedNoWrite - An application has changed this page, but it doesn't need to be written back before being replaced.
Standby - These pages were recently in use. If they are needed, then they can be reallocated to another application.
The priority levels below show how likely windows thinks the page is going to be needed again. If an application uses a page once every second, then if windows reallocates that page to another application, it'll have to allocate it back every second, so that's not very useful if we have a page that was used 20 min ago by a background application and hasn't been used since that we could reallocate instead of shifting the same page back and forth between two applications every second.
Your "available" memory is Zeroed+Free+Modified+ModifiedNoWrite+Standby



As for fixing it, if it's a driver that's crashing or leaking memory, you just have to replace the driver with a newer or older version that doesn't have this problem. Sadly I don't know of any way to see how much memory is allocated to each driver, though on a high-end system with 150 processes and 50000 handles open (steam, WoW, several editors, google chrome w/40 tabs), I'm using about 500mb of paged physical kernel memory, 500mb of paged virtual kernel memory, and 150mb of nonpaged kernel memory. If you're off by whole gigabytes when it's complaining about memory issues, a driver is misbehaving somewhere. The rest of your memory should be accounted for in the process list.


No comments:

Post a Comment

hard drive - Leaving bad sectors in unformatted partition?

Laptop was acting really weird, and copy and seek times were really slow, so I decided to scan the hard drive surface. I have a couple hundr...