从 powershell 来看,为什么这两个数字对于 Chrome 使用的工作集内存不同?

从 powershell 来看,为什么这两个数字对于 Chrome 使用的工作集内存不同?

我不太熟悉 powershell。

我有 16GB RAM,其中大部分由 Chrome 使用,因为我打开了 5 个窗口,这个窗口有 30 个标签。从数学上讲,16GB RAM,16GB 的 RAM 是二进制数,即 16GiB,总计 17179869184 字节。

从现在开始我只用字节来谈论,所以是十进制。

根据此命令,根据 powershell 的显示,chrome 总共使用了

PS C:\Users\user> (Get-Process chrome | Measure-Object WorkingSet -sum).sum
16611123200

但这个命令显示了不同的数字

PS C:\Users\user> get-process chrome | Group-Object -Property ProcessName | Format-Table Name, @{n='Mem';e={'{0:N0}' -
f (($_.Group|Measure-Object WorkingSet -Sum).Sum )}} -AutoSize
Name   Mem
----   ---
chrome 16,719,167,488

答案1

RAM 使用报告对时间要求很高。

如果你等待一段时间,那么任何给定进程使用的 RAM 量可能发生显著变化。当我在同一个脚本中运行这两行代码时,它们会运行立即地一个接一个...使用的RAM是相同的。

看起来你的两个代码片段运行得足够远,以至于应用程序明显改变了它使用的 RAM 数量。

相关内容