システム正常性拡張イベントからの誤ったプロセス使用率?


10

私は最近、システムヘルス拡張イベントイベントファイルに格納されているデータまたはメトリックの理解に取り組んでいます。

ここで提供されているように、システムヘルスを使用してパフォーマンスメトリックのデータコレクションを実装しようとしています

という名前のシステムヘルスイベントから収集されるCPU使用率、その他のプロセス使用率などのメトリックを提供するレポートがあります。

scheduler_monitor_system_health_ring_buffer_recorded

SQL CPU使用率としてレポートにリストされているフィールド "process_utilization"がほとんどの場合100を超える時間である理由をいくつかのビジーサーバーで理解できません。サーバーアクティビティモニターから確認した場合でも、常に100を超えるCPUが表示されます。

私はGithubでこの問題を提起しましたが、修正または応答がないようです。

したがって、私の質問は

  1. 記録されたシステムヘルスリングバッファーを使用して、サーバーのSQL CPU使用率の正確な数値を取得するにはどうすればよいですか?

  2. レポートには、レポートごとに計算された2つ未満のフィールドのカウンターも表示されます

  1. OtherProcessUtilとしての100-System_idle-process_utilization

  2. SystemUtilとしての100-system_idle

これらのOtherProcessUtilおよびSystemUtilは何のために必要/役立ちますか?

  1. また、毎回メモリ使用率が常に100と表示されています。これも正しくないようです。誰か気づいたことがありますか?

Idera&sentry [私がテストしたもの]のような他のツールでは、同じサーバーのCPU使用率が100%を超えていません。同じ負荷に対して並べて比較しました。

回答:


1

100%を超えるディスクおよびプロセッサー%カウンターの値システムに存在するプロセッサーまたはディスクの数で割る必要があります。したがって、100%は、1つのプロセッサの100%を使用していることを意味します。250%は、2.5個のプロセッサを使用していることを意味します。したがって、それが120%を報告している場合は、それが120 / <プロセッサー数>に相当するかどうかを確認してください。

tigertoolsの最新の変更は2018年6月であることに注意してください。sqlwatch.ioはもっとアクティブなプロジェクトのように見えるので、チェックしててください。

social.msdn.microsoft.com/Forums/sqlserver/en-US/…を参照して、TOP(1)に変更するだけで、現在のSQL CPU使用率を取得できます。

トニー・ヒンクル

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