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

IBM WAS 5.1 / Tread dump analysis: Servlet.Engine.Transports stuck on java.net.SocketInputStream.socketRead0

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

我在线程转储中看到大多数名为 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)

我想我应该只将这些视为空闲线程(保持活动连接),但我找不到太多信息来证实该理论...?

查看 "latest" 5.1 源代码,行号确实暗示这是一个 keepalive 读取而不是请求内读取数据。