【问题标题】:PowerShell :: Get-Counter shows wrong CPU usagePowerShell :: Get-Counter 显示错误的 CPU 使用率
【发布时间】:2021-04-04 20:21:18
【问题描述】:

official Microsoft documentation 之后,我发现了一个应该打印 CPU 使用率的命令:

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

问题在于它打印的 CPU 使用率有 5-10% 的差异(点击 GIF 以获得更好的视图):

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

【问题讨论】:

  • 您很可能必须添加其中的几个才能获得您在任务管理器中所说的相同输出。它使用所谓的副本。所以得到生熟的价值并做一些数学运算

标签: performance powershell azure-sql-database cpu-usage taskmanager


【解决方案1】:

它可以在我的计算机上正常工作。 但就我而言,当我使用 -sampleinterval 2 时它更可靠

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

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

你到底想做什么?

【讨论】:

  • 谢谢@PowershellNoob,我更新了我的问题
【解决方案2】:

即使我跑:

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

CPU 计算总是存在差异的。

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

如果您转到任务管理器 > 视图 > 更新速度 > 高,则可以减少这种差异

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

【讨论】:

    猜你喜欢
    • 2020-04-27
    • 2011-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    相关资源
    最近更新 更多