About "java.lang.OutOfMemoryError: " occured in Jive Messenger Server

Hi,

I use Idx-tsunami (run in linux) to simulate 1000 clients to stress test Jive messenger server (run in xp)

For the idx-tsunami, I would generate 1 user in every 0.2s during 200s.

Configuration of computer is : 1.8GHz, 2G MB.

I have set the content of messengerd.exe.vmoptions in C:\Program Files\Jive Messenger\bin to

-Xms1024m

-Xmx1024m

The lowest part is the exception of the jive messenger server (OutOfMemoryError).

Does anyone have any idea about this exception? Do any other configuration needed in the jive messenger?

Thanks a lot.

Jimmy

Jive Messenger 2.2.0

Admin console listening at:

http://protel-s6nar2xr:9090

https://protel-s6nar2xr:9091

Exception in thread “Socket Listener at port 5269” java.lang.OutOfMemoryError: unable to create new native thread

at java.lang.Thread.start0(Native Method)

at java.lang.Thread.start(Unknown Source)

at org.jivesoftware.messenger.spi.ConnectionManagerImpl.addSocket(ConnectionManage rImpl.java:242)

at org.jivesoftware.messenger.net.SocketAcceptThread.run(SocketAcceptThread.java:1 31)

Exception in thread “Client SR” java.lang.OutOfMemoryError: unable to create new native thread

at java.lang.Thread.start0(Native Method)

at java.lang.Thread.start(Unknown Source)

at org.jivesoftware.messenger.server.OutgoingServerSocketReader.init(OutgoingServe rSocketReader.java:128)

at org.jivesoftware.messenger.server.OutgoingServerSocketReader.(Outgo ingServerSocketReader.java:46)

at org.jivesoftware.messenger.server.ServerDialback.createOutgoingSession(ServerDi alback.java:156)

at org.jivesoftware.messenger.server.OutgoingServerSession.authenticateDomain(Outg oingServerSession.java:113)

at org.jivesoftware.messenger.spi.RoutingTableImpl.getRoute(RoutingTableImpl.java: 92)

at org.jivesoftware.messenger.spi.RoutingTableImpl.getBestRoute(RoutingTableImpl.j ava:220)

at org.jivesoftware.messenger.MessageRouter.route(MessageRouter.java:80)

at org.jivesoftware.messenger.PacketRouter.route(PacketRouter.java:69)

at org.jivesoftware.messenger.net.SocketReader.processMessage(SocketReader.java:34 3)

Exception in thread “Socket Listener at port 5222” at org.jivesoftware.messenger.net.ClientSocketReader.processMessage(ClientSocketRe ader.java:55)

at org.jivesoftware.messenger.net.SocketReader.readStream(SocketReader.java:182)

at org.jivesoftware.messenger.net.SocketReader.run(SocketReader.java:111)

at java.lang.Thread.run(Unknown Source)

java.lang.OutOfMemoryError: unable to create new native thread

at java.lang.Thread.start0(Native Method)

at java.lang.Thread.start(Unknown Source)

at org.jivesoftware.messenger.spi.ConnectionManagerImpl.addSocket(ConnectionManage rImpl.java:242)

at org.jivesoftware.messenger.net.SocketAcceptThread.run(SocketAcceptThread.java:1 31)

Hi,

There are 2 things to check.

  1. reduce the thread stack size (- Xss switch)

  2. check your OS socket/thread limits, you may be hitting them.

Sorry I can’'t remember the default values off hand, but if you search the forums you will find other threads related to thread stack size and ulimits

Conor.

Hi,

For your first suggestion.

Acutally, I have added something like

-Xms512m

-Xmx512m

-Xss128k

in the “messengerd.exe.vmoptions” file (which is in “C:\Program Files\Jive Messenger\bin”)

But still have the same problem. Is that I misunderstood your first suggestion?

For your second suggestion.

Could you give a little more brief like “how to check your OS socket/thread limits”.

Thanks a lot

Jimmy

Set it to -Xmx1024 -Xms512m -Xss128k. Memory is key if you’'re going to have that many users.

Gato or Matt: When you load tested Jive, what jvm properties did you use?

Noah