4

VisualVMを使用してCF8のメモリリークを追跡しようとしていますが、ツールを100%動作させることができません。基本的に、メモリサンプリングを除いて、すべてが発生します。「JVMはサポートされていません」と言います。

ただし、他のすべての機能は機能します(メモリではなく、CPUサンプリングを実行できます)。この種の奇妙なことに、メモリ以外のすべてを実行できることがわかったので、これを許可するために別のJVM引数を指定する必要があるのではないかと考えていますか?

その他の情報:

  1. 127.0.0.1またはlocalhostを介してローカルに接続しています。
  2. Visual GCプラグインをインストールしましたが、どちらも接続できません。
  3. VisualVMとJRUN/CF8はどちらも同じJavaバージョン(1.6.0_31)を使用していますが、同じ場所からプルされていません(おそらくこれが問題になります)。VisualVMはインストールされたJDKを使用しますが、JURN/CF8はローカルでCF8インストールフォルダにコピーしたバイナリのみを使用します。
  4. JVMプロパティを表示する別のプラグインをインストールしましたが、JVMは「接続可能」ではないと表示されます。それが何を意味するのかわかりませんが、それについて言及したいだけです。

これに関する助けをいただければ幸いです。そのメモリサンプリングを取得できれば、最近ここで悩まされているパフォーマンスの問題を乗り越えることができると思います。前もって感謝します!

編集:

また、チェックしたところ、JRUNは「管理者」の下で起動されていますが、別のユーザーの下でVisualVMを起動しています。多分これは関連していますか?

4

1 に答える 1

3

はい、別のユーザーでVisualVMを実行していることが重要です。メモリサンプリングはAttachAPIを使用します。これは、監視対象アプリケーションとVisualVMを同じユーザーとして実行している場合にのみ機能します。これは、JVMプロパティがアプリケーションが接続できないことを報告する理由でもあります。VisualVMを「管理者」として実行すると、Coldfusion 8アプリケーションが自動的に検出され、メモリサンプラーが機能します。

于 2012-04-20T10:06:43.110 に答える