Java Server Platform

Hey guys,

I’'ve been trying to find the appopriate file to download from Sun for the Java server environment, but the JDK I downloaded still gave me a client VM instead of a server VM.

Can someone link the page where I can download the appropriate java Runtime environment so I can use a Java Memory greater than 64mb? Is there any problems with changing the Java after already installing jive messenger?

Much Appreciated

Hi Harrat,

Sun doesn’'t have a sperate client and server vm, rather you can specify how you want the vm to run by providing a “-client” or “-server” parameter when you start a Java program. It should be noted that on some OSes such as Linux and Solaris the vm defaults “-server” mode, while on others such as Windows, it defaults to “-client”.

Hope that helps,

Ryan

Where do you make that change? I have my jive messenger server running on Windows 2k3 enterprise.

Harrat

And that is very helpful, just need to finish it out.

Hi Harrat,

Where do you make that change? I have my jive

messenger server running on Windows 2k3 enterprise.

If you’'re using the included startup script the “-server” flag is used by default.

Hope that helps,

Ryan

I didn’‘t see anything about a startup script. Did you mean the portion of the install document where it discuss setting VM options in a vmoptions file? I found that and set the vm options to increase the memory size (though it didn’'t have any effect when I restarted the service).

Do I need to include a “-server” line in the messenger-service.exe.vmoptions file?

Right now I just have

-Xms256m

-Xmx256m

Should it read

-server

-Xms256m

-Xmx256m

?

Hi Harrat,

Ah, I see, I thought you were using the messenger.bat file to start Messenger. But, you’'re correct, add a “-server” entry to your messenger-service.exe.vmoptions file and you should be good to go.

Regards,

Ryan

Tried that. In the admin console of jive messenger it says that it’‘s running server vm… but when I run java -version from the c: prompt it says client. And I added the memory increase in vmoptions file, and I still didn’'t get anything. Put

-server

-Xms256m

-Xmx256m

in the vmoptions file, and my memory is still set @ 64. Don’‘t know what I’'m doing wrong.

Hi Harrat,

Are you starting Messenger using the Windows service or the “normal launcher” (gui version)? If you’‘re using the service you need to create a messenger-service.exe.vmoptions file and if you’‘re using the normal launcher you need to create a messengerd.exe.vmoptions file; it’‘s a pretty subtle but important difference (and something I didn’'t catch the first time through ).

Hope that helps,

Ryan

hehe… ya I’'m using the service and messenger-service.exe.vmoptions. Copied the file name directly from the instruction manual.

Ok… let me rundown the proceedure I went through to install jive just so it’'s clear.

Had a regular version of java setup and running on the server.

Ran the jivemessenger install

Played with the interface and set things up using the standard executable

Figured out how to start jive as a service

Installed and started running jive as a service

Went searching for a way to increase java memory, removed prior java, and then installed the JDK

Found the vmoptions file, and added strings in that to try and setup the server VM for Jive that way.

Have command prompt java -version telling me that it’'s a client.

Have Admin console of Jive saying server VM, but only 64mb allocated for memory

That’'s where I stand

Harrat, how do you measure the memory?

If you look at the server settings tab in your Messenger console, this is not what you need. This shows you how much memory the JVM consumes at the moment. Usually the JVM starts with small heap and increases it as needed. There is no way to find out the JVM configuration from inside JVM.

If you are running Java 5, you can use the jconsole to peek at the JVM configuration (see http://tinyurl.com/aox8n)

If you want to really test the scalability, then try to overload the server. This means starting multiple clients on multiple machines, sending messages, logging in and out and creating and destroying accounts. Once you get the actual numbers, please post them on this forum, I guess everybody would be interested.

When you type java -version you see ‘‘Client’’ because this is the default for a JVM. Type java -server -version to have it saying server. That saying there is no such a great difference unless you are processing 100s of messages per second.

PS: do you experience a problem with the default settings or are you just trying to optimize your environment?

Have command prompt java -version telling me that

it’'s a client.

This is correct behavior. The parameters you set in messenger-service.exe.vmoptions will only affect Messenger, not every Java program.

Have Admin console of Jive saying server VM, but only

64mb allocated for memory

Try using the file I’'ve attached and see if you have any success with it.

Thanks,

Ryan

I know that the memory is a flexible thing. I know that even if it’‘s getting close or even maxed out that I may not have a performance hit. But my situation is that I’‘m about to go live with a version of this for 120 people in a corporate setting, with people that are not friendly to IT hiccups. I want this to run smoothly, and I want to have the ability to increase the memory for the app if the need arises as I start adding people so that people don’‘t get skittish and start thinking that the system is a poorly designed system. Because I think we all agree that it’'s not.

I just want to be able to increase the memory should I have to. Maybe 120 users isn’‘t a big deal at all and 64mb will be more than enough. I don’‘t know. But I sure would hate to have to figure this memory thing out after I’'m having the issue rather than be prepared to deal with it before.

Thanks for the link I’‘m checking on that admin app. I’‘ll check it out, and as I start adding users, and getting people up and running I’'ll tell post what things look like on my end.

Which directory should the vmoptions file go in? I’‘ve been putting it into c:\program files\jive messenger\bin, but I just found a bunch of other bin directories and the installation doc isn’'t hugely specific.

(as you can tell I’'m pretty new to running java apps)

Which directory should the vmoptions file go in?

I’'ve been putting it into c:\program files\jive

messenger\bin

That’'s the correct directory. Is it still not picking up the options?

(as you can tell I’'m pretty new to running java apps)

No problem, we all have to start somewhere.

You guys are going to laugh I think, but hopefully someone will be helped out by this. I figure if I did this, then there are at least 20 other people who tried but failed and didn’'t post anything.

See last message

Message was edited by:

Harrat

Good to hear it’'s working. Sorry about the confusion.

Cheers,

Ryan

Harrat,

Actually, I don’‘t think we knew the service worked that way. So, you actually had to remove the service and add it again before the changes would work? You couldn’'t just stop and then start it again?

Regards,

Matt

Ok… Here’'s the deal.

I’'m a big newb. I should know better, and even checked for this a few times, but somehow managed to miss it. (Get ready to point and laugh)

I managed to leave a .txt extension on the original vmoptions file. I knew it shouldn’‘t be there. And I looked at it multiple times, but apparently the admin account I used (which is new since it’‘s a new server) doesn’'t have the proper view options on, which hides known extensions.

So why I had come to the other conclusion, was that I created a new vmoptions view with a switch that enabled the jconsole to work as per dmitry earlier in the thread, and created that one correctly but uninstalled the service and then installed that time… also read another post about another java app that seemed to indicate that. So I stand corrected. Moderator, please strike my previous comments.

Official Website newb right here.

Harrat,

Heh, there’'s no penalty to being a “newb”, we all start out that way. Thanks for following up to post the resolution – that definitely helps and may solve the problem more quickly for others in the future.

Regards,

Matt