我正在尝试使用VisualVM打开一个本地java应用程序进行性能分析,但是自从我上一次使用它以来突然停止工作,我可以看到应用程序框中的程序但是如果我尝试打开从cmd行或任何其他java程序,如eclipse,它将挂起状态栏说明打开。如果它在尝试打开我自己的应用程序时尝试选择另一个VM打开,则visualVM将锁定。
请注意,我可以打开和分析visualVM JVM,但不能打开任何其他内容,
除了执行包括内核在内的一般操作系统更新之外,我没有更改任何设置。我确保我的/ tmp / hsperfdata_myusername是可访问的,当我从命令行启动visual VM,eclipse或我自己的java程序时,我可以看到与文件夹中创建的进程pid匹配的文件编号。我尝试以root身份启动我自己的程序和visualvm并尝试它,但它没有任何区别。我删除了我的.visualvm文件夹以清除任何问题,但它没有工作,visualvm的日志文件没有提到任何错误。
我用java 7_u45-b18运行fedora 19。
当我启动visual vm时,打开一个端口TCP localhost6.localdomain6:35138(LISTEN)
如果我打开自己的应用程序或eclipse并将其保留10分钟,它将最终连接(以前是即时),但是CPU配置文件和GC命令被禁用,这就是我想要的。
我知道你需要为远程连接指定JMX端口,但这都是本地的,所以我不明白它为什么突然出现了!
欢迎任何帮助。
答案 0 :(得分:2)
转到“运行配置” - >参数 - >如果要分析本地进程,请在VM参数中添加以下参数: -Djava.rmi.server.hostname = localhost
答案 1 :(得分:0)
调查问题的一种方法是通过将JVM选项传递给命令jvisualvm来获取JVisualVM的日志
https://hoangx281283.wordpress.com/2014/04/16/getting-log-of-jvisualvm/