首页 > 解决方案 > Thread(sqlservr*)\ % 处理器时间超过 100%

问题描述

我正在编写一个 powershell 脚本来计算每个存储过程或 SQL 查询所占用的 CPU 利用率。为此,我正在找出 CPU 百分比大于阈值 (80%) 的 SQL Server 线程,然后查找这些查询。

我发现某些 SQL Utilization for Queries 超过 100%。我知道这是因为系统的多核和多线程性质,但我希望这个值是准确的,即低于 100% 并显示它用于所有内核的实际值。

这就是我正在使用的

$ComputerName = $env:COMPUTERNAME
$PerfCounter = "Thread(sqlservr*)\% Processor Time"

$MaxSamples = 5

$ThreadData = Get-Counter  -Counter $PerfCounter -ComputerName $ComputerName -MaxSamples $MaxSamples -ErrorAction SilentlyContinue

谁能帮我把这个值设为绝对值——低于 100%

标签: sql-serverpowershelldatabase-administrationwindows-serverperfmon

解决方案


推荐阅读