OF 3.6.0 Memory leak?

Hi Guys

I successfully installed (upgraded from 3.5.2 to) 3.6.0 on CentOS 5.2 with MySQL 5.0.22 and the server has been running with no extra plugins other than Search for nearly 13 days, but with no users logging in / out (test bed).

However, I noticed at first use, it was using around 14Mb of RAM and it seemed to hover around that for a while but it has gradually crept up to around 75Mb.

I run it with these JVM paramters -Xms256m -Xmx512m -Xss256k -Xoss256k -XX:ThreadStackSize=256 and the server has 2Gb RAM.

Does this look like a memory leak ? There’s nothing in the logs.

My live environment is practically identical to test except OF 3.5.1 and that’s been up for 65 days and only using 14-15Mb RAM with upto 75 concurrent users - JVM parameters are the same.

Thoughts ?


Hm… I have 2 users on my server + IM Gateways and I’m using 40 MB of memory. The java engine takes 18% of my total memory. I think that is a bit too much.


My server with OF 3.6.0 can be up an running without problems maximum 4 - 5 days, after that it takes about 95% of memory and the service becomes to slow down.

Today i had to restart it because no more users could login into the server. Righ now it has 7 hours running and has taken 200+ MB so far.

OF is configured with the following options: -Xms256m -Xmx768m -Xss128k -Xoss128k -XX:ThreadStackSize=128 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC-

OF with the IM Gateway plugin installed on CentOS 4.6 Postgresql 7.4.16 as the DB, 300+ users connected.

The server upgraded from OF 3.5.2, no problems with this version, several weeks of uptime.

Do any of the Dev’s have any ideas ? It seems strange that 3.5.1 keeps to only around 14-15Mb (with upto 75 users) whereas 3.6.0 is using quite a bit for the same config and with no users.

I run the admin console on a permanat basis on sessions with a refresh rate of 90 seconds.

I have an idea…

Under the Message Audit Policy settings, make sure you have Audit Presence Packets turned off. When/if you notice the CPU/MEM usage skyrocketing next, check the statistics plugin (if you have it installed… if you don’t, I highly recommend it).

I noticed a similar issue in 3.5.2 and made a thread or two about it with no replies.

What I’ve noticed is that every once in a while, for whatever reasons, a handful of logged in users will start “packet storming” About 50000 packets per minute each. If you are message auditing presence, you will see that all of these packets are presence updates. If you’re trying to log a few million presence packets to disk every hour, the system will get really really slow and stuff will stop working. If you disable the presence audits it really alleviates this - there is still packet storming, but it shouldn’t drag your system to it’s knees.

Interesting point, but this isn’t the issue as I’m not auditing presence changes, only messages.

As I’ve only got one or two users testing, this should be low anyway - uptime is 18 days and memory is now 80Mb. Considering there’s been no test users logging in for a few days now, I would like to try and get to the bottom of why memory usage is creeping up.

Devs, any thoughts ?

Server running 3.6.0 (test) has been up for 21 days with no one logging in and just the admin console accessed refreshed every 10 seconds on the Sessions tab and the memory used is 120Mb RAM

Server running 3.5.1 (live) has been up for 74 days with upto 70 users logging in and running the admin console as above and is using only around 14Mb RAM

There’s nothing in either server’s logs, both servers are configured indentically with the same JVM startup options. Maybe I need to change the JVM options for 3.6.0 ?

My test server with 3.6.0a has been running with no logged in users for serveral days and is at 12MB of memory out of 64. I will put it on the statistics page like you for a few days.

Are you using any specific JVM parameters ? I’m using these paramters -Xms256m -Xmx512m -Xss256k -Xoss256k -XX:ThreadStackSize=256

I would liek to try and get this resolved as I can then start doing some further testing.

No I am not. I am using default memory. I only want to test one variable at a time.

Thanks for that - I may try disabling the options to use the defaults and see what that does.


Do you have any plugin installed on your test server?

I have found on other threads that having some plugins installed increase the memory used by OF.

I have most of them installed.


What about the database, are you using the embedded one or an external, in that case which one?.