.NET agentのメモリー使用率が高い
.NET agentのメモリー使用率が高い

.NET agentのメモリー使用率が高い

問題点

.NET agentインストール後、Windowsタスクマネージャーなどの監視ツールの作業セットのメモリの使用量が高くなることが分かります。通常、使用率増加は、通常、監視対象アプリケーションごとに約100MBです。これは物理マシン、仮想マシン双方に起こる可能性があります。

解決方法

この作業セットのメモリー使用量の増加は、パフォーマンスには影響を与えません。作業セットメモリーはWindows によって特定のアプリ用に保存されますが、他のアプリがメモリーを必要とする場合に、随時開放する場合があります。これはいずれのWindowsアプリにも予期される正常な動作です。(詳しくは原因 のセクションをご覧ください)。

まれなケースではありますが、RAMが限られた、または多くのアプリプールのあるシステムでは、メモリー使用量がパフォーマンスに影響を与える場合があります。パフォーマンスが影響を受けている場合は、以下のオプションをお試しください。

  • マシンのRAMを増設する。
  • マシンから一部のアプリケーションプールを削除する。
  • タスクマネージャーに表示されるメモリーが開放され、他のプロセスと共有されている可能性があるため、メモリー使用量の増加が実際にパフォーマンスに影響を与えているかどうかを知るためにパフォーマンスを監視する。以下の≪原因≫をご覧ください。

原因

根本的な原因は、Windows 自体が使用量増加を予期してプロセスごとにメモリーを割り当てる方法にあります。Windowsはこのメモリーを作業セット メモリーとして割り当て、これは、OSは、別のプロセスを必要とする場合、作業セットメモリーを非常に速く開放する可能性があります。メモリー割り当てはWindowsによって決められるため、New Relicが表示される使用メモリーの量を減らすことはできません。

メモリー使用増加に応じてパフォーマンスが低下する場合を除き、通常、この増加は問題にはなりません。パフォーマンスの低下は通常、すべての利用可能なメモリーがプライベートワーキングセットメモリーとして使用されている場合に限って発生します。メモリー不足の状態でサーバーが動作している場合は、そのメモリー使用が実際にパフォーマンスに影響を与えているかどうかを知るために、応答時間とトランザクション時間を監視します。しばらくしても増加がみられない場合は、メモリー使用量は問題にはなりません。

作業セットメモリーの使用は通常、RAMが限られたシステム上で問題となります。当社の試験システムでは、監視対象アプリまたはアプリプールごとに約100 MBの増加を観察しました。たとえば、64 GBの80%時に、80%の増加が顕著になりますが、おそらく4 GBの80%の時にはそれより少なくなります。同様に、監視されているアプリケーションプールの数も使用量に影響を与えます。アプリプールが単一の場合はメモリー使用量が大きく増加することはめったにありませんが、RAM4 GBで30のアプリケーションプールの場合、問題が発生する可能性があります。

関連情報

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

  • タスクマネージャーのメモリーの列とは (メモリーの割り当ての種類に関するMicrosoftの文書)
  • データが表示されない ( .NET agent用の基本的トラブルシューティング)

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

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

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

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