カウンターはProcess(sqlservr)\% Processor Time
、私のデータベースサーバーの1つで約300%停止しています。このカウンターは、SQL ServerがCPUでの実行に費やした合計時間の割合を反映します(ユーザーモード+特権モード)。『Sql Server 2008 Internals and Troubleshooting』という本には、80%を超えるものは問題であると記載されています。
そのカウンターが100%を超えることはどうして可能ですか?
カウンターはProcess(sqlservr)\% Processor Time
、私のデータベースサーバーの1つで約300%停止しています。このカウンターは、SQL ServerがCPUでの実行に費やした合計時間の割合を反映します(ユーザーモード+特権モード)。『Sql Server 2008 Internals and Troubleshooting』という本には、80%を超えるものは問題であると記載されています。
そのカウンターが100%を超えることはどうして可能ですか?
回答:
同じ名前の2つのカウンターがあります。
Process\% Processor Time
:各プロセッサーのプロセッサー時間の合計
Processor(_Total)\% Processor Time
:すべてのプロセッサーの合計
あなたの質問は、最初のカウンターを使用していることを示しています。つまり、その最大値は100%*(CPUなし)です。
したがって、4つのCPUがある場合、合計の最大値は400%であり、80%は実際には(400 * 0.8 =)320%です(8つのCPUの場合は640%などです)。
この値は(論理CPUの数* 100)のベースラインで計算されるため、これは100を超えるベースラインで計算されます。