CPU使用率が一致しない、もしくは100%を超えている
CPU使用率が一致しない、もしくは100%を超えている

CPU使用率が一致しない、もしくは100%を超えている

問題点

New Relic APMのCPU使用率データとサーバーのCPU使用率が一致しない、もしくはCPU使用率が100%を超えている。

原因

APMのCPU使用データはサーバーのCPU使用データとは異なります。

  • APMでは、CPU使用率は該当するサーバーのアプリケーションもしくはサービスの全ての【インスタンス】集計を測定します。
  • サーバーでは、CPU使用率は該当するサーバーの全ての【CPU】の平均使用率を測定します。

詳しい情報に関しては、下記の例および製品ごとの詳細をご覧ください:

CPU使用率が一致しない例
この例はAPMとサーバーのCPU使用率の不一致を示しています:
APM > モニタリング > (選択したアプリ)】と【サーバー > サーバー:APMのCPUメトリクスとサーバーのCPUメトリクスは異なる意味を持っています。
New Relic APM
アプリのCPU使用率を表示するには:New Relicメニューバーから、APM > (選択したアプリ) > モニタリング > 《概要》を選択します。インスタンスの数が各サーバー名の下に表示されます(例えば、55インスタンス)。
APM CPU使用率は該当サーバーのアプリもしくはサービスの全インスタンスにおけるCPU使用率の集計です。この率はサーバーのコア全体で作動しているインスタンス数に影響を受けます。1台のサーバーで複数インスタンスのサービスが作動している場合や、マルチコアサーバー環境においてはCPU使用率は100%を超える場合もあります。
APMはCPU時間の集計を、時刻で割るという方法で率を計算します:

 

例:クアッド コア プロセッサーへのアップグレード

同サーバーアーキテクチャ配下にて、デュアルプロセッサーからクアッドプロセッサーへアップグレードする場合、同じロードおよびアプリケーション用に大体同じCPU数が必要だと見込まれます。New Relicが計算を正常化すれば、使用しているサイクル数が同じだったとしても、アップグレードによりCPU使用率は急激に減少したように表示されます。インスタンスを追加しても、コードの生産性は上がりません。』

New Relicサーバー
個別サーバーのCPU使用率を表示するには:
  1. New Relicメニューバーから、【サーバー】を選択します。
  2. オプショナル:サーバー一覧をCPU使用率の高い順、もしくは低い順にソートするには、【CPU】列の見出しを選択してください。
  3. CPU使用率の詳細情報を表示するには、個別のサーバーを選択してください。

CPU使用率の正確な計算ができるかどうかはプラットフォームに依存します:

プラットフォーム 計算詳細
Linux

Linuxサーバーは該当サーバーにおける全CPUの平均CPU使用率を測定します。サーバーは、各CPUがビジーとなる平均時間率に基づき、標準化されたメトリックを作成します。つまり、サーバーにコアを追加した場合CPUキャパシティは増加します:

Servers for Windows

Servers for WindowsはWMI(《Windows Management Instrumentation》)を使い、全CPUとコアを単一のメトリックとして収集します。このメトリックは下記のクエリを利用し、20秒ごとに収集されます:

Servers for Windowsは収集後、【PercentPrivilegedTime】と【PercentUserTime】の使用率を個別に計算します:

 

関連情報

追加のドキュメンテーションリソースは次のとおりです。

  • 《APM【概要】ページ》(APMアプリパフォーマンスの概要を表示します)
  • 《サーバー【概要】ページ》(サーバーパフォーマンスの概要を表示します)

New Relic 《オンラインテクニカルコミュニティー 》での New Relic APMに関するディスカッションにぜひご参加ください ! テクニカルコミュニティーはNew Relicツールセットについて議論し、トラブルシューティングを行うための公開プラットフォームです。

 

PROプランのすべての機能を
14日間無料でお試し

新規無料登録いただくとPROプランのすべての機能を
14日間無料でお試しいただけます。
クレジットカードなど決済情報の登録は不要です。

各プランの詳細はこちらからご確認ください。