Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does "VM Size" mean in the Windows Task Manager? [closed]

Virtual memory from a computer size perspective is

[a way to make the program] think it has a large range of contiguous addresses; but in reality the parts it is currently using are scattered around RAM, and the inactive parts are saved in a disk file. (Wikipedia)

I would interpret VM Size in the Windows Task manager as either the total addressable virtual memory space or the amount of memory the process is currently using in the virtual memory space.

But in the Task Manager the WM Size is in many cases less than Mem Usage, which should be amount of RAM the process is using. Therefor I guess that WM Size means something else?

like image 324
Jonas Pegerfalk Avatar asked Aug 26 '08 04:08

Jonas Pegerfalk


2 Answers

It's the total of all private (not shared) bytes allocated by this process, whether currently in physical memory or not.

See also An introductory guide to Windows Memory Management or Commit Charge Wikipedia article

For a developer watching process state like this I would recommend to install SysInternals Process Explorer and to use it instead of the default Task Manager. This value is called "Private Bytes" in it.

like image 73
Suma Avatar answered Oct 14 '22 13:10

Suma


What's the correct answer about VM Size?

  • In Coding Horror

    How much of the processes' less frequently used memory has been paged to disk.

  • In Comment of Coding Horror

    You're wrong on VM Size. It's the total of all private (not shared) bytes allocated by this process, whether currently in physical memory or not. It's a better value for tracking whether you have a memory leak than 'Mem Usage'. The same value is available in Performance Monitor as 'Process: Private Bytes'.

  • In MSDN

    Virtual Memory Size : The amount of virtual memory, or address space, committed to a process.

I am confusing what is corrent.

like image 45
Simon Kim Avatar answered Oct 14 '22 13:10

Simon Kim