OutOfMemoryError

Hi!

While running Jive Messenger creates lots of threads and when the thread count exceeds 700-800 the java.lang.OutOfMemoryError occures. What is wrong and how can I decrease the thread number to work further.

Thanks.

What platform are you on and what was your maximum Java heap size?

To get to thousands of uses, you’‘ll need a 512 MB heap or larger. This is a limitation of the standard Java threading architecture – once we move to the newer NIO library, we’'ll be able to use a small number of threads for many connections which will be much more efficient.

Regards,

Matt

Thanks for your answer Matt!

I use Windows XP.

I enlarged java heap to 512 - Jive began to control used memory.

But anyway threads amount increases beyond all bounds - about one per second.

May be I can somehow cut down the number of threads…

Tatiana.

I don’'t understand why you have so many threads being created. Are you doing load testing?

Regards,

Matt

No, I’'ve just installed it and started. Even if nobody uses Jive for communication it creates threads

Most threads look like this:

SRT reader@19e daemon prio=5, in group “main”, status: RUNNING

socketRead0():-1, SocketInputStream.java

read():129, SocketInputStream.java

readBytes():411, StreamDecoder.java

implRead():453, StreamDecoder.java

read():183, StreamDecoder.java

read():167, InputStreamReader.java

read1():185, BufferedReader.java

read():261, BufferedReader.java

fillBuf():3221, MXParser.java

more():3238, MXParser.java

nextImpl():1706, MXParser.java

next():1180, MXParser.java

readStream():176, SocketReadThread.java

run():101, SocketReadThread.java

SRT reader@19f daemon prio=5, in group “main”, status: RUNNING

socketRead0():-1, SocketInputStream.java

read():129, SocketInputStream.java

readBytes():411, StreamDecoder.java

implRead():453, StreamDecoder.java

read():183, StreamDecoder.java

read():167, InputStreamReader.java

read1():185, BufferedReader.java

read():261, BufferedReader.java

fillBuf():3221, MXParser.java

more():3238, MXParser.java

nextImpl():1706, MXParser.java

next():1180, MXParser.java

readStream():176, SocketReadThread.java

run():101, SocketReadThread.java

and so on…