我在MAC OSX山狮上遇到了TomEE 1.5.1和VisualVM 1.7.0_09的一个非常奇怪的问题.
TomEE加载一些webapp后.使用VisualVM连接本地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
但是如果我在启动它之后和加载任何webapps之前使用VisualVM连接TomEE,那么.java_pid< pid>文件将被创建,VisualVM将立即连接到它,堆转储工作.
另一个解决方法是修改catalina.sh以将tools.jar添加到Classpath并删除openejb javaagent,然后在TomEE完全启动后连接正常工作.
无法在ubuntu机器上重现.
解决方法
可能jvm内存不足.我见过很多次了.
尝试:
尝试:
> increasing memory limits.
>将VisualVM连接到jvm.
>部署您的应用程序.
>并运行内存采样器,分析器或堆转储来诊断问题.你可能有内存泄漏.如果您遇到内存问题,堆转储是最安全的方法.您也可以在take heap dump using command line中稍后在VisualVM中对其进行分析.
还要确保您的系统内存不足.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。