PowerShell :: Get-Counter 显示错误的 CPU 用法

PowerShell :: Get-Counter shows wrong CPU usage

official Microsoft documentation 之后,我找到了一个应该打印 CPU 用法的命令:

Get-Counter -Counter "\Processor(_Total)\% Processor Time" -Continuous

问题是它打印 CPU 用法时有 5-10% 的差异(单击 GIF 以获得更好的视图):

这尤其糟糕,因为在迁移到 Azure SQL DB 之前,Microsoft suggests 命令 Get-Counter 作为 DTU 计算的官方方式。

它可以在我的电脑上正常工作。 但就我而言,当我使用 -sampleinterval 2

时它更可靠

Get-Counter -Counter "\Processor(_Total)\% Processor Time" -Continuous -SampleInterval 2

但如前所述,here:This 示例每秒为计数器获取连续样本。要停止该命令,请按 CTRL+C。要指定样本之间的较长间隔,请使用 SampleInterval 参数。 Get-Counter

你到底想做什么?

即使我运行:

typeperf "\Processor(_Total)\% Processor Time"

CPU计算总是有出入。

Get-Counter按预期工作,总会有差异。

如果您转到“任务管理器”>“查看”>“更新速度”>“高”,可以减少此类差异

这样刷新率会更高,Get-Counter 的结果更接近您在任务管理器中看到的结果。但不要指望是一样的。