当前位置: 首页 > 知识库问答 >
问题:

使用JConsole等连接到冻结的jvm

魏冷勋
2023-03-14

我们试图分析一个在生产环境中运行的远程tomcat应用程序。问题是web池中的所有线程都被阻塞了,这似乎阻止了我们与jconsole、jmc甚至YourKit的连接。当jvm正常运行时,所有这些工具都可以正常工作。

来自jconsole的错误是超时:

Could not connect to server1:9090 : Failed to retrieve RMIServer stub: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is: 
java.net.SocketTimeoutException: Read timed out]
Could not connect to server1:9090. Make sure the JVM is running and that you are using the correct protocol in the Service URL (service:jmx:rmi:///jndi/rmi://server1:9090/jmxrmi).

这使得我们很难找出我们的应用程序出了什么问题。服务器没有使用太多cpu,并且有可用内存。因此,并不明显缺乏资源。jvm似乎已经死了

Java版本:jdk1.7.0_75 Tomcat版本:7.0.65

在这种情况下,有没有关于如何连接到jvm的想法?

共有1个答案

慕容安易
2023-03-14

你有几个选择:

  1. 发送SIGQUIT(Linux)或Control-Break(Windows)并获取堆栈跟踪。
  2. 获取核心转储(gcore onLinux),然后您可以使用JVM工具,如jack和使用核心文件的朋友
 类似资料:
  • 代理的代码在这里 生成脚本在这里 我在远程计算机上启动应用程序时使用 主机上打开了两个端口6004和6005,如果jconsole是应用程序本地的,我可以通过jconsole连接到应用程序。 然后创建2个ssh隧道 ssh隧道ssh-l 6004:localhost:6004 foo@server ssh隧道ssh-l 6005:localhost:6005 foo@server 现在的问题是我无

  • 问题内容: 我已将Web应用程序部署到远程树脂服务器,并且已打开JMX。 我可以远程登录到远程服务器,即 但是我无法使用我的JConsole连接到它 我已经在以下Java版本中尝试过此操作,但是在两个实例上都收到“连接失败”的提示。 你们对如何调试有任何想法(即找出问题所在)吗? 问题答案: 确保您正在使用以下Java属性集运行应用程序 立即尝试连接。如果要调试此命令,可以使用以下命令运行jcon

  • 问题内容: 我在Vista机器上。我已经使用以下选项开始了tomcat 5.5.27: 当我通过jconsole连接并添加以下服务网址时 它不会连接。有任何想法吗 ? 问题答案: 好的,我原本以为op给出的URL是错误的,但事实并非如此。所以我无法回答。 不过,这里有一些基础知识: 通过进行简单连接。 例如,如果您知道要连接的JMX服务器的RMI注册表端口为9003,请使用 代替。 否则,这就是我

  • 我一直在尝试构建一个项目,其中Flask应用程序可以自动将选定数量的视频连接到“核心视频”。 用户可以上传视频,并将其发送到amazon s3进行存储。所有视频都由Moviepy预处理为mp4文件,以24 fps无音频运行,分辨率为720p。经过此预处理后,视频上传到amazon s3。 在s3中的所有新上载中,创建了一个队列,管理员可以批准或删除该队列。所有经批准的视频最终都会出现在一个列表中,

  • 问题内容: 我已经用套接字卡住了4h,我使用的方式是只有一个应用程序作为客户端和服务器,一旦客户端连接, 它将与新客户端一起打开theard,并等待消息。 一旦消息发送到服务器,客户端将收到响应,该部分正在正常工作。 客户专区的一部分: 服务器支持2条消息,第一条是“列表”,发送一条命令是“获取值”。 如果客户端将请求命令“列表”,它将运行以下命令:有一个“服务器/客户端”,它正在发送请求并接收一

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