当前位置: 首页 > 面试题库 >

调试JConsole连接失败

段干高歌
2023-03-14
问题内容

我已将Web应用程序部署到远程树脂服务器,并且已打开JMX。

我可以远程登录到远程服务器,即

franz@see:/tmp$ telnet <remote-ip> 5555
Trying <remote-ip>...
Connected to <remote-ip>.
Escape character is '^]'.
��sr5javax.management.remote.message.HandshakeBeginMessage�,���6profilestLjava/lang/String;Lversionq~xppt1.0^]

telnet> q
Connection closed.

但是我无法使用我的JConsole连接到它

$JAVA_HOME/bin/java -cp $JAVA_HOME/lib/jconsole.jar:$JAVA_HOME/lib/tools.jar:pm-common/lib/jmxremote_optional-1_0_1_3.jar sun.tools.jconsole.JConsole service:jmx:jmxmp://<remote-ip>:5555

我已经在以下Java版本中尝试过此操作,但是在两个实例上都收到“连接失败”的提示。

## where JAVA_HOME=/opt/java/64/jdk1.5.0_22
java version "1.5.0_22"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_22-b03, mixed mode)

## where JAVA_HOME=/opt/java/64/jdk1.6.0_17
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01, mixed mode)

你们对如何调试有任何想法(即找出问题所在)吗?


问题答案:

确保您正在使用以下Java属性集运行应用程序

-Dcom.sun.management.jmxremote.port=9005
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

立即尝试连接。如果要调试此命令,可以使用以下命令运行jconsole

jconsole -J-Djava.util.logging.config.file=path_to_logging.properties_for_jconsole

以下是logging.properties文件的内容

Logging.properties

handlers = java.util.logging.ConsoleHandler


.level = INFO

java.util.logging.ConsoleHandler.level = FINEST

java.util.logging.ConsoleHandler.formatter = \

java.util.logging.SimpleFormatter

// Use FINER or FINEST for javax.management.remote.level - FINEST is

// very verbose...

javax.management.level = FINEST

javax.management.remote.level = FINER

一旦运行jconsole一个单独的窗口,将弹出显示日志的窗口。



 类似资料:
  • 我正在配置jboss服务器,试图远程监控JVM。我已经在独立文件中配置了JMX。但是当我试图从jconsole连接时,我得到了连接超时的错误。我们在它上面使用JBOSS pega应用程序 版本: JBOSS-7.1 JDK-1.8.231 我设置的配置是 jar 和文件路径 当我试图连接到服务器时,我得到了这个tcp转储值。 我已经尝试了所有设置,但找不到结果。 有人能帮我吗

  • 问题内容: 我们正在使用 订阅主题。但是,我们经常遇到错误。我已经使用JavaScript客户端(mqttws31.js)测试了连接,效果很好。表示连接没有问题。 错误:- MQTT消息:- 配置 :- pom.xml: 在调试时:- 在上述方法中,有时会抛出。所以基于catch块,它使用 问题答案: 我只是想分享一下,以防万一。…我有相同的异常,并通过确保生成了唯一的客户端ID(使用 )来解决它

  • 我们试图分析一个在生产环境中运行的远程tomcat应用程序。问题是web池中的所有线程都被阻塞了,这似乎阻止了我们与jconsole、jmc甚至YourKit的连接。当jvm正常运行时,所有这些工具都可以正常工作。 来自jconsole的错误是超时: 这使得我们很难找出我们的应用程序出了什么问题。服务器没有使用太多cpu,并且有可用内存。因此,并不明显缺乏资源。jvm似乎已经死了 Java版本:j

  • 代理的代码在这里 生成脚本在这里 我在远程计算机上启动应用程序时使用 主机上打开了两个端口6004和6005,如果jconsole是应用程序本地的,我可以通过jconsole连接到应用程序。 然后创建2个ssh隧道 ssh隧道ssh-l 6004:localhost:6004 foo@server ssh隧道ssh-l 6005:localhost:6005 foo@server 现在的问题是我无

  • =================================================================================================================================================================堆栈跟踪: 位于system.net.httpWebRequest.Endge