web-dev-qa-db-ja.com

パフォーマンスモニターの「%Processor Time」カウンターを100%を超えるにはどうすればよいですか?

カウンターProcess(sqlservr)\% Processor Timeは、データベースサーバーの1つで約300%停止しています。このカウンターは、SQL ServerがCPUでの実行に費やした合計時間の割合(ユーザーモード+特権モード)を反映しています。本 Sql Server 2008 Internals and Troubleshooting は、80%を超えるものは問題であると述べています。

そのカウンターが100%を超えることはどうして可能ですか?

9
Bill Paetzke

同じ名前の2つのカウンターがあります。

_Process\% Processor Time_:合計のプロセッサ時間各プロセッサ

Processor(_Total)\% Processor Time:すべてのプロセッサーの合計

あなたの質問は、最初のカウンターを使用していることを示しています。つまり、その最大値は100%*(CPUなし)です。

したがって、4つのCPUがある場合、合計の最大値は400%で、80%は実際には(400 * 0.8 =)320%です(8つのCPUの場合は640%など)。

21
Mark Henderson

この値は(論理CPUの数* 100)のベースラインで計算されるため、これは100を超えるベースラインで計算されます。