UIL2 processes and SocketManager
bergerarnaud Apr 7, 2004 7:29 AMHi everyone !
We are currently using JMS through UIL2.
The max load we have is around 150-160 client applications, and the number of processes is around 600 at that time (in best case).
The problem is that the number of processes keeps growing during the day and sticks to a high number at night (around 350 processes with no
clients connected !).
Within about two days, the amount of processes reaches 900 + and JBoss crashes with an "unable to create native Threads".
The dev's instance doesn't display this problem (with the same simulated load, around 150 clients)
The only thing where logs differ between the dev and the prod logs is that
production's server.log displays the exact same stack every five minutes
(even at night) :
Example start of JBoss
2004-04-07 09:12:50,744 INFO [org.jboss.system.server.Server] JBoss (MX MicroKernel) [3.2.3 (build: CVSTag=JBoss_3_2_3 date=200311301445)] Started in 31s:962ms 2004-04-07 09:13:46,603 ERROR [org.jboss.mq.il.uil2.SocketManager] Failed to create ObjectInputStream java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2165) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2634) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:734) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253) at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:265) at java.lang.Thread.run(Thread.java:536) 2004-04-07 09:13:49,147 DEBUG [org.apache.tomcat.util.threads.ThreadPool] Getting new thread data 2004-04-07 09:13:55,411 DEBUG [org.apache.tomcat.util.threads.ThreadPool] Getting new thread data 2004-04-07 09:18:46,429 ERROR [org.jboss.mq.il.uil2.SocketManager] Failed to create ObjectInputStream java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2165) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2634) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:734) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253) at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:265) at java.lang.Thread.run(Thread.java:536) 2004-04-07 09:23:46,187 ERROR [org.jboss.mq.il.uil2.SocketManager] Failed to create ObjectInputStream java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2165) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2634) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:734) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253) at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:265) at java.lang.Thread.run(Thread.java:536) 2004-04-07 09:28:46,688 ERROR [org.jboss.mq.il.uil2.SocketManager] Failed to create ObjectInputStream java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2165) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2634) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:734) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253) at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:265) at java.lang.Thread.run(Thread.java:536) 2004-04-07 09:33:46,066 ERROR [org.jboss.mq.il.uil2.SocketManager] Failed to create ObjectInputStream java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2165) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2634) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:734) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253) at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:265) at java.lang.Thread.run(Thread.java:536) 2004-04-07 09:38:46,494 ERROR [org.jboss.mq.il.uil2.SocketManager] Failed to create ObjectInputStream java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2165) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2634) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:734) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253) at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:265) at java.lang.Thread.run(Thread.java:536)
So, does anybody know what could cause this stack, and if each of these errors may generate a superfluous process ?
The second question being : is it normal that UIL2 shows far more processes than , say OIL for instance ( 2 or 3 times more ) ?
Thanks in advance ,
Best regards,
Arnaud