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

问题描述 投票:0回答:3

按照微软官方文档,我找到了一个应该打印CPU使用情况的命令:

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

问题是它打印的 CPU 使用率有 5-10% 的差异(点击 GIF 可以看到更好的视图):

这尤其糟糕,因为 Microsoft 建议命令

Get-Counter
作为迁移到 Azure SQL DB 之前进行 DTU 计算的官方方式。

performance powershell azure-sql-database cpu-usage taskmanager
3个回答
0
投票

它可以与我的计算机配合使用,没有任何问题。 但就我而言,当我使用 -sampleinterval 2

时更可靠

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

但正如这里提到的:这个例子每秒为计数器获取连续样本。要停止该命令,请按 CTRL+C。要指定较长的采样间隔,请使用 SampleInterval 参数。 获取计数器

你到底想做什么?


0
投票

即使我跑步:

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

CPU计算总是存在差异。

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

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

这样刷新率会更高,并且

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


0
投票

下面的脚本与任务管理器的 CPU% 读数更加一致: get-counter '\处理器信息(_total)%处理器实用程序' |选择对象-ExpandProperty CounterSamples

Microsoft 文档在以下链接的“原因”标题下提供了解释。该文章与该主题不完全匹配,但解释提供了原始问题的答案。 https://learn.microsoft.com/en-US/troubleshoot/windows-client/performance/cpu-usage-exceeds-100

© www.soinside.com 2019 - 2024. All rights reserved.