![]() |
What is "Working set" vs. "Virtual size"? |
Post Reply
|
| Author | |||
thoste
Groupie
Joined: 21 July 2005 Location: Germany Status: Offline Points: 41 |
Post Options
Thanks(0)
Quote Reply
Topic: What is "Working set" vs. "Virtual size"?Posted: 04 March 2009 at 2:37pm |
||
|
What is the difference between "Working Set" and the "virtual size" of a process?
Which value reflects the real usage of physical and virtual memory?
What is furthermore the diff between "Maximum working set" and "Peak working set size"?
Isn't it the same?
Thomas
|
|||
![]() |
|||
molotov
Moderator Group
Joined: 04 October 2006 Status: Offline Points: 17492 |
Post Options
Thanks(0)
Quote Reply
Posted: 05 March 2009 at 2:47am |
||
|
Hi Thomas,
From explanation of performance counters in Perfmon: Virtual Size (Virtual Bytes):
From Windows Internals:
Private bytes is the amount of (virtual) memory committed by a process. The peak working set size is the largest working set that has been observed for the process. From "Process Working Set":
|
|||
|
Daily affirmation:
net helpmsg 4006 |
|||
![]() |
|||
zakk
Groupie
Joined: 13 June 2008 Status: Offline Points: 73 |
Post Options
Thanks(0)
Quote Reply
Posted: 08 November 2011 at 10:17am |
||
|
@molotov
How is the Available Memory calculated in System Information > Memory tab > Physical Memory ? Is it the size of RAM minus: a) the sum of all processes'Private Bytes OR b) the sum of all the processes'Working Sets? And, in general, which of the 3 columns (Virtual size, Working set and Private bytes) should you suggest to check for process memory usage? I'm confused ![]() Edited by zakk - 08 November 2011 at 10:22am |
|||
![]() |
|||
Dax1792
Senior Member
Joined: 15 March 2011 Status: Offline Points: 155 |
Post Options
Thanks(0)
Quote Reply
Posted: 08 November 2011 at 12:24pm |
||
|
Private bytes is virtual memory; working set is physical memory.
Have a look at this: Pushing the Limits of Windows: Virtual Memory Tech-Ed North America 2011: Mysteries of Windows Memory Management Revealed, Part 1 Tech-Ed North America 2011: Mysteries of Windows Memory Management Revealed, Part 2 |
|||
![]() |
|||
LMiller7
Groupie
Joined: 27 May 2011 Status: Offline Points: 41 |
Post Options
Thanks(0)
Quote Reply
Posted: 08 November 2011 at 2:17pm |
||
|
Available memory is defined as the sum of the standby list plus free memory. There is far more to total memory usage than the sum all process working sets. Because of this and due to memory sharing this value is not generally very useful. The virtual size of a process is the portion of a process virtual address space that has been allocated for use. There is no relationship between this and physical memory usage. Private bytes is the portion of a processes virtual address space that has been allocated for private use. It does not include shared memory or that used for code. There is no relationship between this value and physical memory usage either. Working set is the amount of physical memory in use by a process. Due to memory sharing there will be some double counting in this value. The terms mentioned above aren't really going to mean very much until you understand the basic concepts in Windows memory management. This is not simple. A good start in understanding this would be the resources mentioned by Dax1782. |
|||
![]() |
|||
zakk
Groupie
Joined: 13 June 2008 Status: Offline Points: 73 |
Post Options
Thanks(0)
Quote Reply
Posted: 15 November 2011 at 10:15pm |
||
|
Thanks for the useful posts.
When you run windows Task Manager, it shows the "Private Working Set" column.
Does "Private Working Set" avoid duplicate counting ? On the other hand, when you first run Process Explorer, it doesn't display the "Private WS" column by default - it displays the "Private Bytes" and "Working Set" columns instead. I'll read the posts that Dax1782 gave as soon as I have some free time. Edited by zakk - 15 November 2011 at 10:29pm |
|||
![]() |
|||
LMiller7
Groupie
Joined: 27 May 2011 Status: Offline Points: 41 |
Post Options
Thanks(0)
Quote Reply
Posted: 16 November 2011 at 4:51am |
||
|
A portion of the working set will be shared with other processes. DLL's are shared among multiple processes but there is only one copy in physical memory. The memory thus used is shown in the Working Set of each process that uses them. This double counting. But as the name implies, Private Working Set is not shared. Without sharing there can be no double counting. But of course Private Working Set does not account for full memory usage. This is a complex subject and cannot be fully dealt with in a forum. You really need to do some study, such as from the resources mentioned. |
|||
![]() |
|||
Post Reply
|
|
|
Tweet
|
| Forum Jump | Forum Permissions ![]() You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |