Should I increase Java Memory?

Hello

I am running Jive Messenger 2.2.2 and its max java memory is 63.31 MB. Nearly 40 users connect to this server daily.

My machine configuration: This is my development machine.

OS: Windows 2000 Professional

RAM: 512 MB

Pentium 4 CPU 3.00 GHz

Sometimes Jive shows java memory in red so I am thinking to extend it to 128 MB. What u guys say ?

One more thing… What should I write in messenger-service.exe.vmoptions?

-Xms128m

-Xmx512m

Is this correct?

Thanks.

Message was edited by: deepak

If you have only 512M, you should define -Xmx smaller like 512m, OS need ram too. Option -server is good too.

Im using Linux (CentOS 4.2) with 1GB RAM, something like 40 users daily and other applications and -Xmx384 is sufficient for me.

Hello Marian. You mean I should write like this:

-Xms64m

-Xmx128m

Message was edited by: deepak

No, I think good for you is:

-Xms128m

-Xmx384m

Hi Deepak,

-Xms48m

-Xmx96m

should be fine for now. If you are increasing your user base you may need to adjust the values again.

But Xms should never be higher than the memory you really need, and it seems that with 64 MB you don’‘t get OutOfMemory messages. Setting Xmx to 2Xms to 4Xms is usually fine and as you have one 500 MB you don’'t want to set it too high.

LG

I want to increase users to 150 in next coming days. So this setting(-Xms48m / -Xmx96m) will be enough for that? With this setting(-Xms48m / -Xmx96m), approximately how many users my development machine will be able to handle? In future users may go upto 500. Should I ask for a real server now ? What configuration u guys recommend for server?

Thanks for replyies guys

Hi Deepak,

I always calculate 1 MB (+100%-50%)for each user connection (including cache etc.) so for 500 users you should have 250-1000 MB available. It depends on the users (auth. providers like LDAP), avatars, rosters, external/internal database, installed plugins, s2s-connections, components/IM-gateways to AIM, ICQ, …) so it’'s very hard to calculate.

So even for 150 users you should set Xmx to 200 MB.

For 500 users the embedded database may still be fine, but if you have an experienced DBA you may ask him to setup the database for you (including backup etc.), so your server will need less memory and you have just to care about the software and not about backup/recovery (except wildfire.xml).

Even your 500 MB dev server could be fine for 500 users, especially if you have only 200 concurrently connected users, but I expect that you want to continue to have a dev server so ordering a new server with 1-4 GB memory would be a very good idea.

LG

Hi Deepak,

you may visit http://www.tagtraum.com/gcviewer.html and write a java memory log file which you can also display it using the tool provided on this page. This should help you to tune the Xms and Xmx size. As you are using Windows you may also want to specify -Xss96k, this will also decrease memory for each thread from 128k to 96k if you want to have a small memory footprint. ( 128k should be the default Xss value for Windows, and each connection uses imho two threads. 96k or 64k may lead to StackOverflow or OutOfMemory errors so it is not recommended).

LG

Thanks for the valuable information.