Why is Process.WorkingSet > Process.MaxWorkingSet?

前端 未结 2 1599
無奈伤痛
無奈伤痛 2021-02-10 11:29

Idle curiosity...

I\'m looking at some of the properties of the current process:

using(Process p = Process.GetCurrentProcess())
{
    // Inspect properti         


        
相关标签:
2条回答
  • 2021-02-10 11:43

    MaxWorkingSet and MinWorkingSet are the values returned by the Win32 API GetProcessWorkingSetSize. These are limits used by the virtual manager that will be enforced when the memory is in short supply. As long as enough memory is available, the current working set size is allowed to grow larger than the value in MaxWorkingSet.

    0 讨论(0)
  • 2021-02-10 11:59

    While the MSDN is not really helpful in this case, a small investigation with the Process Explorer on the other hand revealed that the values for Private Memory/MaxWorkingSet and Shared Memory/WorkingSet do nearly exactly match.

    Which makes me believe (yes, I do lack hard evidence) that the MaxWorkingSet does display the private memory while the WorkingSet64 does display the complete memory, including shared one.

    I know what the MSDN says...and I don't care, I see something different in the Process Explorer.

    0 讨论(0)
提交回复
热议问题