Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am running some tests on a very powerful machine ( 24GB RAM, Window 2008 64bit )

I checked my task manager: Physical memory: 98% ( RAM is 24GB )

But the totally "Memory(Private working set)" usage of all my running processors is no more than 16GB

Where are those extra 8GB used for? Is it used by the OS IO buffer, or somewhere else?

Can anyone contribute some ideas?

share|improve this question
1  
Voting to close as this is not a programming related question.... –  t0mm13b Nov 19 '10 at 19:07
    
Should be on superuser.com –  Ivo Wetzel Nov 19 '10 at 19:08
add comment

migrated from stackoverflow.com Nov 19 '10 at 19:56

This question came from our site for professional and enthusiast programmers.

3 Answers

Starting with Vista/Server 2008 Microsoft use almost all the memory available for caching purposes in order to improve performance:

Why Does Vista Use All My Memory?

Note that this doesn't affect the load time of new processes because the memory used by the cache is just discarded when more RAM is needed.

MS employee Mark Russinovich (cofounder of SysInternals) explains how virtual memory works in Windows:

Pushing the Limits of Windows: Virtual Memory.

The series Pushing the Limits of Windows are quite interesting because Mark explains several concepts of Windows that usually aren't well known or misunderstood (for example the difference between Process Address Spaces and Virtual Memory).

share|improve this answer
add comment

I thought memory is not shared so each VM has its memory reserved. That's why you see your memory usage high because of overhead to run Host OS.

share|improve this answer
    
Thank you for your reply. –  Kavin Nov 19 '10 at 19:19
    
But normally OS doesn't need 8GB to run. And most of time we see VM > ram –  Kavin Nov 19 '10 at 19:20
    
WS2008 requires 8gb, so if you run HyperV that's alot of resources consumed. Try with Core Server (w/o GUI) –  VinceL Nov 19 '10 at 19:33
    
Windows Server does not require 8Gb of ram, VinceL. microsoft.com/windowsserver2008/en/us/system-requirements.aspx –  RobM Nov 19 '10 at 20:00
add comment

Windows (along with any operating system, including even DOS with SmartDisk!) will maintain a disk and IO cache in memory (including network buffers, etc). Another chunk of memory will go to managing the VM page tables (more RAM = more page tables) and other operating system overhead.

Different OSes have different policies on when they eject the disk cache for process memory, many will even prefer to swap out dead pages from a process instead of reducing the disk cache to near 0.

share|improve this answer
    
Is there any way to check the IO buffer size currently used? the VM page table should be pretty small, in 32bit machine is at most 16M, so should not be a problem –  Kavin Nov 19 '10 at 19:31
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.