powered by Jive Software

Normal memory for java

Hello all,

Anyone have any idea how much each person (client) connecting to JM will use up on average in java memory? And I don’'t mean power users. These people would be idling a lot and just sending off a few messages now and then.

I’'m running the 2.2.0 beta1 and memory is currently at 108meg of 256 java memory for only 10 users connected. Server has been running over a week.


I am also running 2.2 beta1 with 20 active sessions and 80 total users (LDAP). Server has been up for almost 2 weeks and only consuming 15 megs out of 65 megs.

I wonder what is special about your config. Any plugins? LDAP? You must be using the embedded database?


98 people/120 registered, all plugins installed, Messenger 2.1.5 and 25.23 MB of 63.31 MB (39.8%) used…

Java memory management is a funny beast. Basically the more memory you allocate to the JVM, the more it will use.

Most often garbage collection will be triggered when you start to reach the upper limit of the allocated memory. Comparing you memory consumption with the others, they are using the default 64MB upper limit and are not getting near it.

If your server was stressed for a little while, the memory could be taken and not yet collected. Other variables include, the JVM you are using, the JVM mode (client/server), the garbage collection algorithm.

GC “may” be triggered by calling runtime.gc, but I don’'t think JM has any code like this, although it may be worth adding in order to keep JM used memory at optimal levels.

Matt/Gato any comments/experience on that?


Java memory management is a funny beast. Basically the more memory you allocate to the JVM, the more it will use…

Yes, I changed it from the default 64 to 256 with instructions from the docs.

Yes, I am using embedded db (later to use LDAP or MySQL).

Yes, I am using plugins but only the normal ones that came with 2.2.0beta1.

I’‘ll watch it. Like you said, maybe it’‘s just humming along with that amount and it’'s normal to do so when you push the memory limit up.

Thanks for all replies.

we currently use 120MB of memory with round 80 people online out of round 6000 accounts. We could decrease memory consumption by decreasing the java stack size to 256KB (On linux initially on 512KB). This is done by adding the following params to your start script:


ps: it may even work with 128KB or lower, but not yet tested.



Reducing the Java thread stack size is a great way to save memory. We’'ll likely add a note about this to the docs when we get a chance to test various values to see what works well.