Semel wrote:unless Task Manager lies.
I always have no less than 1,5 GB RAM free Well, at least TM shows it. And ive never had more than 1800Mb ram consumed by NB6..aaccording to TM as well..
1800 MB "MemUsage" as reported by Task Manager on Windows 32-bit is
way into "why hasn't this been killed yet" territory!
You're on Windows 32-bit so the maximum VM size for a single process is 2 GB, unless you're running with the special boot switch (may be default on some Windows Server versions)
and the program in question is flagged as IMAGE_FILE_LARGE_ADDRESS_AWARE, in which case the limit is 3GB. One of the better summaries I've found on this:
http://dwf.blogs.com/beyond_the_paper/2 ... vista.htmlI have no idea if NewsBin Pro 32-bit was compiled with that flag or not, but I suspect it's unlikely, and since you didn't mention running with that switch it's likely irrelevant anyway. But it nicely documents the VM size limit.
The Task Manager reports the
Working Set which is useful, but it's
not the Virtual Memory size which is what causes programs to be killed due to "out of process VM". "Working Set" is the amount of physical memory currently allocated to the process.
The Virtual Memory size includes all of the Working Set, but also include additional shared libraries (shared with other programs), anything sent to swap, anything allocated but not used! and several other things using VM space so it usually larger or much larger than the Working Set.
To take one example, at the moment my 32-bit Newsbin Pro has a 510 128 kB "Mem Usage" in Task Manager, but if I look at it via Process Explorer I see that the "Virtual Size" is 1 603 692 kB. This is because it's loaded some larger groups earlier, but it's been left idle for hours so most of it has been kicked out.
By enabling some additional columns in Process Explorer I can see that the "Peak Working Set" is 755 656 kB, which means that the "Mem Usage" in Task Manager never exceeded that value, even though the VM size is nearly 1.6 GB, not that far from getting Newsbin Pro killed!
If you want to know what's really going on in your machine you really need to be running Process Explorer, this applies to both 32-bit and 64-bit Windows. I suggest adding Virtual Size, Process I/O Delta Total Bytes and Base Priority columns to the display. You can ask it to replace Task Manager, most people I know does that on all their machines
Just to be clear, all this is
completely unrelated to how much physical memory Windows 32-bit can use, I'll comment a little about this because a lot of people mix these together even though they're completely unrelated.
The short answer for how much physical memory you can access in 32-bit Windows is:
4GB minus whatever the memory hole size is, usually this is 3-3.5GB depending on BIOS and what graphics card you have, but more or less than this do happen. A few Windows server versions support more memory even in 32-bit mode!, but both 32-bit and 64-bit mode is also limited by what your Motherboard chipset can handle (if it's older and not a workstation chipset it probably can't address more than 4GB anyway).
On 32-bit Windows you can use excess memory as RAM disk if the chipset can address >4GB, sometimes using excess memory this way can make sense. Depending on the features of the chipset and BIOS the memory hidden by the "memory hole" mentioned above (256MB to 1GB) is either completely unaccessible OR show up above 4GB. Recent desktop chipset allow 8-48GB of addressable memory and support "memory hoisting" to move the hidden memory so it can be used, but many older don't support either or supports one but not the other.