7

MAC OSX マウンテン ライオンの TomEE 1.5.1 と VisualVM 1.7.0_09 で非常に奇妙な問題に遭遇しました。

TomEE が webapp.Use VisualVM connect ローカル TomEE プロセスをロードした後、長い時間がかかり、接続後に gc ボタンが無効になり、ヒープ ダンプを取得できません。VisualVM のログにエラーが表示されます。

com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded
    at sun.tools.attach.BsdVirtualMachine.<init>(BsdVirtualMachine.java:90)
    at sun.tools.attach.BsdAttachProvider.attachVirtualMachine(BsdAttachProvider.java:63)
    at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:213)
    at com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:104)
Caused: java.io.IOException: Unable to open socket file: target process not responding or HotSpot VM not loaded

tmp フォルダーに作成されて.java_pid<pid>いないファイル。

しかし、VisualVM を使用して TomEE を起動した後、Web アプリケーションがロードされる前に.java_pid<pid>接続すると、ファイルが作成され、VisualVM はすぐにそれに接続し、ヒープ ダンプが機能します。

もう 1 つの回避策は、catalina.sh を変更して tools.jar を ClassPath に追加し、openejb javaagent を削除してから、TomEE が完全に起動してから接続することです。

ubuntuマシンでは再現できません。

4

1 に答える 1