在分析性能问题时,我每5秒持续线程转储,并使用武士线程转储分析器进行分析。注意到,许多线程处于可运行状态,并且在所有事件中持续存在堆栈转储。但我找不到他们正在通信的主机。我尝试使用命令ss -t -a
,watch ss -tp
和netstat -A inet -p
,但无法将其结果与线程相关联。任何想法?提前致谢。来自Linux-Java线程转储的套接字信息
Thread dump 2/5 "TP-Processor125" prio=5 tid=0x25756 nid=0x649c RUNNABLE (JNI Native Code) - stats: cpu=828 blk=-1 wait=-1 java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:628)
at org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:566)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:693)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:898)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:745) Locked synchronizers: count = 0
这是服务器还是客户端?例如。服务器套接字或客户端套接字? – MojoJojo
对不起,我没有这个信息。我所拥有的只是从服务器获取的线程转储。它与许多接口交互,包括数据库,Web服务器等等。它说'SocketInputStream.read'。它可以是服务器套接字吗? –
转储有多大?你可能会上传到Github或其他份额? – MojoJojo