IBM WAS 5.1 / Tread转储分析:Servlet.Engine.Transports卡在java.net.SocketInputStream.socketRead0上

时间:2016-03-23 19:42:26

标签: java ibm-was java-threads thread-dump

我在Solaris 10机器上运行带有Sun 1.4.2 Java的WAS 5.1。试图找出应用程序无响应的原因。

我在一个线程转储中看到,名为Servlet.Engine.Transport[...]的大多数线程仍然停留在此堆栈跟踪上:

"Servlet.Engine.Transports : 10388" daemon prio=5 tid=0x00304620 nid=0x322f runnable [1b3cf000..1b3cfc28]
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at com.ibm.ws.io.Stream.read(Stream.java:17)
    at com.ibm.ws.io.ReadStream.readBuffer(ReadStream.java:418)
    at com.ibm.ws.io.ReadStream.read(ReadStream.java:110)
    at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:454)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:936)

我想我应该把它们视为空闲线程(保持连接状态),但我找不到太多信息来证实这个理论......?

1 个答案:

答案 0 :(得分:1)

查看“最新的”5.1源代码,行号确实意味着这是一个keepalive读取而不是在请求内读取数据。