如何控制JMX的端口号?

时间:2015-01-23 19:48:28

标签: java stack-trace heap-dump

我一直在调试一个java进程的问题,打开一个30,000到50,000范围内的随机端口。

我有兴趣看看与具有端口的套接字关联的线程堆栈是什么,所以我收集了java进程的堆转储并确定堆栈线程的名称为“RMI TCP Accept-0”。通过一点谷歌搜索我发现这个线程可以用于JMX monitoring by jConsole

所以我正在寻找一种方法来控制这个端口号,我找到了一个相关的答案here

即使指定了端口号,我仍然可以看到Java进程正在打开这个随机端口

我想重新访问堆栈,看看我是否理解它可能是一个JMX端口是正确的。这是我看到的堆栈:

"RMI TCP Accept-0" daemon prio=10 tid=0x00007f3367404000 nid=0x14fb runnable [0x00007f33507b3000]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
        at java.net.ServerSocket.implAccept(ServerSocket.java:530)
        at java.net.ServerSocket.accept(ServerSocket.java:498)
        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:388)
        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:360)
        at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
        - None

0 个答案:

没有答案