On Sun, Mar 30, 2008 at 12:46 PM, Benjamin Zachary <[EMAIL PROTECTED]> wrote: > If I goto taskmgr and manually add all the ram in use Im at about 450megs, > the box is reporting 1.2gb of ram in use. Obviously not even close.
I dunno about Vista, but on 2000/XP: the default "Mem Used" column in Windows Task Manager is actually the Working Set, i.e., the pages that task has loaded into RAM. Meanwhile, the "Mem Used" or "PF Used" total is actually the Commit Charge. No per-process number I've ever found consistently adds up to the Commit Charge. I expect that's due to things like: Kernel paged pool (counts towards Commit but isn't a per-process number), memory mapped hardware I/O and files (count towards VM size but don't need committed backstore), allocated but untouched pages (count towards commit, but aren't stored in RAM or PF (until written to)), shared pages (exist in the VM of multiple processes, but only ever get stored once), and copy-on-write pages (counted in commit for each process, but don't get stored until written to). I've also noticed that the memory needed by a VM in VMware doesn't appear to show in any per-process counter, and I have a suspicious that the Symantec AntiVirus filter driver does something similar. So I'm guessing there's a way to allocate pages which isn't revealed in Task Manager or Process Explorer, but still counts towards the Commit Charge. -- Ben ~ Upgrade to Next Generation Antispam/Antivirus with Ninja! ~ ~ <http://www.sunbelt-software.com/SunbeltMessagingNinja.cfm> ~
