Openfire suddenly dies at 50% memory usage

Hello everyone,

I have a couple of clustered Openfire servers sitting on two Amazon Large (general purpose) Servers (7GB RAM, 2 cores).

Both of these are on Openfire v3.8.1. There is nothing installed on these servers, just Openfire (and server monitoring software).

Here’s my question, one of my servers keep dying out when it reaches 50% memory usage. Then I’d have to login to the server and restart it. I attached a screenshot of the graphical representation of the server’s memory usage.

Is anyone else having this problem? What could be the possible solutions I could try out?

Thank you in advance!

Edit: My VM params look like this: INSTALL4J_ADD_VM_PARAMS="-Xms512m -Xmx7024m"

What OS/JRE are you running? Is anything logged when Openfire dies?

You’re not running a 32bit JRE are you?

Hi David,

I’m sorry but I’m really not very familiar with Java (forgive me). My java -version returns this

java version “1.7.0_21”

Java™ SE Runtime Environment (build 1.7.0_21-b11)

Java HotSpot™ 64-Bit Server VM (build 23.21-b01, mixed mode)

As for the logs, it doens’t give me any errors when it dies.

Thanks for your quick input!

Edit: The OS is Ubuntu 12.04 64bit.

I’m also having a similar problem to this using Ubuntu 12 64bit.

For some reason the server just stops responding randomly and the only way to fix it is to manually restart the server.

I didnt get a reply off anybody when I asked for help on here.

Hi,

Yeah. That’s what I’ve been thinking. I’ll probably setup God or Monit to look over the Openfire daemon.

The server isn’t even getting a high load. What’s weird is it my other Ubuntu 64 bit server doesn’t seem to have that problem and has been running continuously ever since.

Haven’t really found out much in what causes the problem since it happens very randomly. Could this problem be Ubuntu related?

Thanks for your input!

Can you clarify what ‘dying’ means? Does the app being unresponsive, or does the JVM actually shutdown? Is there an Openfire java process still running when it ‘dies’?

Hi,

What I mean with “dies” is the process stops randomly. The JVM shuts down.

Do you have a nohup.out file?

If not, change your init.d script to something like this.

su -s /bin/sh -c “nohup $OPENFIRE_RUN_CMD > $OPENFIRE_LOGDIR/nohup.out 2>&1 &” $OPENFIRE_USER

Not sure exactly what it looks like on Ubuntu, but you want stdout/stderr from the java process to go to nohup.out (or some other place - maybe it’s stdout.log or something?)

Either way, if the JVM dies it’ll log something via stdout/stderr.