Memory Discrepancy in Process Explorer vs PowerShell and Process Hacker

memorypowershellprocess-explorer

Why does there seem to be a discrepancy by a factor of 10, for the private memory figure and working set memory figure, in the data given by process explorer, compared to that of powershell and process hacker. It looks like process explorer is the odd one out.

enter image description here

So process explorer says

PM- 1106724K
WS- 1187288K

If I multiply them by 1024 to get bytes,

PM- 1133285376 <-- 10 digits long (1.1 Gig)
WS- 1215782912 <-- 10 digits long (1.2 Gig) 

Whereas Powershell says

Note- WS=WorkingSet PM=PrivateMemory

PS C:\Users\harvey> (Get-Process chrome | Measure-Object WS -sum).sum
17073758208  <-- 11 digits long  (~17GB-decimal-base, or 15.8GB-binary-base)
PS C:\Users\harvey> (Get-Process chrome | Measure-Object PM -sum).sum
14065111040  <-- 11 digits long  (~14GB-decimal-base, or 13GB-binary-base )

So it looks like there's a factor of 10 difference between process explorer, and others e.g. powershell. A difference between single digit GB, and double digit GB.

For private memory, 1133285376 vs 17073758208

For working memory, 1215782912 vs 14065111040

Besides that one might ask why the numbers aren't exactly the same.

Why are they out by a factor of 10?

Process Hacker agrees with the general magnitude given by Powershell, of 10s of GB.

Note- Added working set memory by right clicking column headers and choose column.
enter image description here

Best Answer

Why are they out by a factor of 10?

  • Process Explorer does not add up the memory when you click the minus sign. It still shows the memory for the single process showing.

  • Process Hacker does add up the memory (if it is configured to do so).

So in your case the smaller number from Process Hacker is for a single Chrome process and the larger number from Process Hacker is a total for all the Chrome processes.

Note that this is a configurable option in Process Hacker (Options->Advanced->Include CPU (and other) usage of children in collapsed processes) as detailed in windows - Can Task Manager show the total memory usage for a group of processes? - Super User

Related Question