Jump to content

xp kept complains Virtual Memory Minimum Too Low


Recommended Posts

Posted

Hi, I'm very new to this, and I don't know what exactly caused this.

One of the older workstation (p3 900 mhz 128mb ram) been complaining about "Window - Virtual Memory Minmum Too Low".

Applications using at the time included:

-firefox (3-4 tabs opened)

-outlook

-msn messager

-2 access DB application

-MS word

The same type of applications have been using in a daily basis, and the machine never complained before. So I thought maybe just running low on RAM. I stick another 128, and now with 256....the machine still complains about Virtual Memory.

I don't know what else could have cause the problem, other then sticking RAMs in there, I don't know what else to do.

p.s: ever since I put extra 128 in that box, even the virtual memory bubble pops up, the machine still runs very smooth and quick. I think it does recongized 256 RAM.


Posted

right click the my computer icon and select properties, then select the advanced tab, now in the performance sections click settings and then advanced tab and finally click change

now set your initial and maximum size to 1.5 x your memory(in your case 256) so that would be 384 and click set,

this should solve the problem for you :)

Posted (edited)

Note that it's complaining about virtual memory, not physical memory. Adding more physical memory will help (because more application and system processes can be run in physical memory before they are paged out or run in virtual memory), but you will still run out of virtual memory if you open lots of applications, or even a few memory-hungry applications.

I'll try to describe this the best I can, but there is a very good book in understanding the internals of how Windows works (including memory management), called "Windows Internals (4th Edition)". If you continue to have questions like this, I'd suggest purchasing or borrowing this book to gain a better understanding of the ways in which Microsoft Windows works, and why it does what it does.

With that said, you need to understand the basics of Windows memory management, and how it allocates memory to running processes on your system. Windows does not let any applications or processes deal with "physical" and "virtual" memory; instead, each application and process deals in "virtual address space" which is controlled by the Windows kernel internal memory manager.

1. Each process running on your system gets 2GB of "virtual address space" that it can use, and each process can allocate as little, or as much, address space within that 2GB of virtual address space as it may need (or thinks it needs). The kernel memory manager then assigns the virtual address space that a process has allocated to actual physical RAM, or to the paging file - it does this depending on how much physical memory is available, how busy the system is, and historically how much physical RAM it thinks the system is going to need "just in case". The application or process never knows where it is actually running from, because it doesn't need to - it just needs to know about it's 2GB of virtual address space, and it lets the kernel memory manager handle the rest.

Of note: the paging file on your computer is Windows' "virtual memory" - it's important you know the difference between virtual memory and virtual address space.

2. Portions of the Windows kernel itself HAVE to run in physical memory (this portion of the Windows kernel is called non-paged pool memory), and your system can use up to 256MB of non-paged pool memory if the system gets very busy, but this is usually around 30 or 40MB (or even less, depending on what you do with your system). This memory is allocated to the kernel before ANY other process can load into physical memory. Then, system services (anywhere from 3 - 15MB) and desktop heap space (anywhere from 20 - 48MB) are allocated to physical memory space. So before you are able to use your system, your 256MB of physical memory available is down to 150 - 200MB left to be allocated to currently running or new processes. After your startup items are processed and any other run items are launched, by the time you actually get to your desktop you may have even less physical memory available before Windows has to allocate processes to run in "virtual memory". Make sense?

3. Windows XP runs fine with 128MB of RAM, but don't try to run more than one or two applications at once with this amount of RAM - you'll be running in virtual memory by the third or fourth application for sure, and the system will definitely seem slower. For a "power user" system, Windows XP actually seems to benchmark best when it has access to over 1GB of physical RAM (2GB or more if you can swing it - I currently run 2GB on most systems, and 4GB on systems used to run Virtual Server 2005).

With the above information, hopefully you know why 128MB or even 256MB of RAM is not fine for any system that will be used for more than browsing and email. Also remember that if you are going to have more than one user logged in at any one time, you'll have multiple desktop sessions running at once, which requires multiple desktop heap allocations, and multiple allocations per instance of any running application (startup items, programs that run in the system tray, etc).

If you want to see exactly what is being used on your system, run the performance application in the Administrative Tools folder, and pay close attention to the Memory counters - especially "Available Bytes" and "Committed Bytes". Available Bytes is just that - how many "available bytes" of physical memory are left unallocated. Committed Bytes is a counter that shows you roughly how much allocated virtual memory space is actually running in "virtual memory" space, otherwise known as your paging file. Also watch the "Process" counter for processes on your system, and pay attention to the "Working Set" and "Private Bytes" for each process. The Private Bytes counter for each process shows how much total virtual address space the process has allocated for itself, and the Working Set is a counter for each process that shows the amount of virtual address space that is actually used by the process and contains data within that "Private Bytes" allocated amount.

Hopefully I haven't glazed you over by now, and you've grasped at least some of the above. Long post short - get more physical memory for your system, preferably 1GB or more, or you'll be running your applications in "virtual memory".

-Edited for spelling :wacko:

Edited by cluberti

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...