为什么与 powershell 和 process hacker 相比,process explorer 的内存数据会有 10 倍的差异?

为什么与 powershell 和 process hacker 相比,process explorer 的内存数据会有 10 倍的差异?

为什么 process explorer 给出的数据与 powershell 和 process hacker 给出的数据相比,私有内存数据和工作集内存数据似乎相差 10 倍。看起来 process explorer 是例外。

在此处输入图片描述

因此进程浏览器说

PM- 1106724K
WS- 1187288K

如果我将它们乘以 1024 得到字节数,

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

而 Powershell 说

注意-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 )

因此看起来 Process Explorer 和其他程序(例如 powershell)之间有 10 倍的差异。个位数 GB 和两位数 GB 之间的差异。

对于私有内存,1133285376 vs 17073758208

对于工作记忆,1215782912 vs 14065111040

除此之外,有人可能会问为什么数字不完全相同。

为什么它们相差 10 倍呢?

Process Hacker 同意 Powershell 给出的一般量级,即数十 GB。

注意——通过右键单击列标题并选择列来添加工作集内存。
在此处输入图片描述

答案1

为什么它们相差 10 倍呢?

  • 进程探索器不添加内存当您单击减号时。它仍然显示单个进程的内存。

  • 进程黑客添加内存(如果配置如此)。

因此,在您的情况下,Process Hacker 中较小的数字是针对单个 Chrome 进程的,而 Process Hacker 中较大的数字是所有 Chrome 进程的总和。

请注意,这是 Process Hacker 中的一个可配置选项(选项->高级->包括折叠进程中子进程的 CPU(和其他)使用情况),详情见windows - 任务管理器可以显示一组进程的总内存使用量吗? - 超级用户

相关内容