Perfmonの「%Processor Time」カウンターが100%を超えるにはどうすればよいですか?


9

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

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

回答:


21

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

Process\% Processor Time各プロセッサーのプロセッサー時間の合計

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

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

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


うん!それでおしまい。私は8つのCPUを持っています。したがって、sqlservrの合計CPU使用率は実際には約37%です。そして、それはすべてが正常であることを意味します。ありがとう、@ Farseeker!
Bill Paetzke、2010年

どんなときも。複数CPUシステムでperfmonを初めて使用したときも、同様のクエリがありました。
マークヘンダーソン

2
CPUの数にはハイパースレッディングが含まれますか?たとえば、コンピューターがクアッドコアでハイパースレッディングを使用している場合、4プロセッサまたは8プロセッサを考慮する必要がありますか?
Matthew Rodatus

1
0〜100%の値を持つ単一のプロセスのプロセッサ使用率を見つける方法はありますか(別名:すべてのCPUへの負荷の分散を示します)?私は自分自身を割る行うことを希望されない
のJeroen Vannevel

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.