CA APMテクニカルアドバイザリ: SQLエージェントを使用した際のエージェントメモリリーク

Document created by Takeshi_Matsushima Employee on Jun 30, 2015
Version 1Show Document
  • View in full screen mode
文書番号JTEC001348
製品名CA Wily Introscope Agent
バージョン9.0.7以前
OSALL

 


 

◆ 概要

SQLエージェントのメモリリークが原因で管理下のアプリケーションで深刻なメモリオーバーヘッドが発生する問題が見つかりました。本テクニカルアドバイザリでは、影響を受けるバージョンとプラットフォームについて詳しくお伝えするとともに、推奨される対応策についてご説明いたします。

 

◆ 障害概要

IntroscopeのSQLエージェントを使って監視されているアプリケーションで深刻なメモリオーバーヘッドが発生し、JVMでヒープメモリ不足が発生する場合があります。これはSQLエージェントのメモリリークによるもので、接続数のリファレンスは適切に削除されているものの、この情報を保存している内部のデータ構造 が正しく保守されていないために起こります。

ヒープダンプを見ると、StatementToConnectionMappingTracerクラスがかなりのメモリを使用していて、そのすべてが複数インスタンスから弱参照しているデータ構造が蓄積したものであることがわかります。これらのインスタンスがそれぞれ大きくなり、オーバーヘッドとなります。


◆ 影響範囲

この問題はIntroscope全バージョンのSQLエージェントに影響します。

  • Introscope Agent 7.x
  • Introscope Agent 8.0.x
  • Introscope Agent 8.1.x - 8.2.3
  • Introscope Agent 9.0.x - 9.0.7


以下の場合、本問題は発生しません。

  • Introscope SQL エージェントをお使いでない場合
  • Introscope エージェント 8.2.4 をお使いの場合
  • 監視しているトランザクションが、バックエンドデータベースを頻繁に使用していない場合。この問題はメモリリークが生じますが、データベースへのコールがそれほど多くなければ(頻繁にconnect/disconnectを行なわなければ)、この問題はめったに発生しません。


◆ 回避策

  • この問題は Introscope 8.2.4、9.0.8 以降で修正されています。
  • 暫定的な回避策として、過度なヒープメモリの使用を防ぐためにSQLエージェントを無効化することもできます。

Attachments

    Outcomes