It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Confluence eats lots of RAM


I've updated confluence to latest version on my test environment and i was surprised, that even though JVM has alocated 2GB of memory, confluence processes consumes about 13GB!! of RAM. Maybe i didnt understand documentation correctly, but could anyone give me a tip or explanation what should i check or could you confirm that this behavior is standard?


11 answers

0 votes
Steven Behnke Community Leader Oct 18, 2017

There's no way anyone can really answer this question. This doesn't 'sound' standard but it could be well within the settings you've given the JVM.

  • How are you determining memory usage?
  • What settings have you applied to your JVM?

Java puts a hard cap on the RAM used if you've set it correctly.   I suspect when you say "JVM has allocated 2GB", that's not really being applied, so Confluence is quite happily eaten piles of memory and never done any garbage collection to free any.

Have a look at your Confluence's system information page, that has RAM usage data, and can answer Steven's second question (look for Xmx )

Like Berserk Soul likes this

Well for first run of new version i did not change anything except of xms and xmx and set it to 2048m... nothing else changed.. I want to try start without any more changes....

Memory usage read from general info from cnf:

Java VM Memory Stats
Heap memory
  Used memory (22%) Free memory (78%)
   78% Free
Maximum heap size 2048 MB
Total Allocated Memory 2048 MB
Memory used 460 MB
Free allocated memory of 1587 MB
Total free memory 1587 MB

and from linux virtual server top utility, where after start of confluence it consumes 13GB of RAM

Confluence Usage Stats
Total spaces 58
Portals 49
Personal spaces 9
Content (all versions) 73972
Content (current version) 66163
Local users 31166
Local groups 4012

To be honest i'm not sure which setup should be used or how balance it correctly...


I think thats only small confluence, but with lots of users...

Steven Behnke Community Leader Oct 19, 2017

Can you show us actual text from the bin/ file and the actual output from top?

The "heap size" in there is recorded as 2Gb, which means there's no way the JVM will consume more than that.  Your settings are all healthy.

So what makes you say it consumes 13Gb, when it can't? -

top -

when i check with free -m, i got this..
total used free shared buffers cached
Mem: 15950 15123 827 0 28 944
-/+ buffers/cache: 14150 1800
Swap: 2046 0 2046

all that memory (buffer) allocates during confluence startup

so i thought thats confluences memory... 

Don't worry. Linux shows information about memory usage in a very specific way.  According to your top output, java processes actually use only 3.5Gb of memory (2.8Gb + 707Mb).

There is a second question about 2.8Gb. The answer is simple. You have configured the heap size for Java, but Java also uses metaspace as an additional memory pool that isn't limited by default, so the whole java process consumes 2.8Gb.

same problem with my install - works on a 12 GB RAM machine and uses all of the RAM within little time.

On my system there is no bin/

Even TOP show 96 % load as well as VM proxmox.

System is rather slow and not stable.

I am very curious that the java task with user confluence us running twice - is that correct? Is there any place to see which task are configured by atlassian - I mean ports and services?    


btw. we run jira and conf. on the same server

btw.2 I have 2 different machines with atlassian tools, both behave the same  way  

If you don't have a then you are setting the variables needed in the environment.  Atlassian applications generally won't start at all if you don't give them an environment with all the stuff they need, including memory settings.  I'd suggest you take another look at the installation - is it an off-the-shelf install, or have you done something like extracting the application from an install and installing it in another web-server (different version of Tomcat or Glassfish etc)

thx, my setenv is located at: /opt/atalassian/confluence/bin/


echo "If you encounter issues starting up Confluence, please see the Installation guide at$

# set the location of the pid file
if [ -z "$CATALINA_PID" ] ; then
    if [ -n "$CATALINA_BASE" ] ; then
    elif [ -n "$CATALINA_HOME" ] ; then

PRGDIR=`dirname "$0"`
if [ -z "$CATALINA_BASE" ]; then
  if [ -z "$CATALINA_HOME" ]; then




echo ""
echo "Server startup logs are located in $LOGBASEABS/logs/catalina.out"

# Set the JVM arguments used to start Confluence. For a description of the options, see
CATALINA_OPTS="-XX:-PrintGCDetails -XX:+PrintGCDateStamps -XX:-PrintTenuringDistribution ${CATALINA_OPTS}"
CATALINA_OPTS="-Xloggc:$LOGBASEABS/logs/gc-`date +%F_%H-%M-%S`.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=2M ${CATALINA_OPTS}"
CATALINA_OPTS="-Djava.awt.headless=true ${CATALINA_OPTS}"
CATALINA_OPTS="-Datlassian.plugins.enable.wait=300 ${CATALINA_OPTS}"
CATALINA_OPTS="-Xms1024m -Xmx1024m -XX:+UseG1GC ${CATALINA_OPTS}"
CATALINA_OPTS="-Dorg.apache.tomcat.websocket.DEFAULT_BUFFER_SIZE=32768 ${CATALINA_OPTS}"


so what I see is, that confluence with java is running twice and config says1 GB.


All of the settings are standard.



Ah, not quite, if you're on Confluence 6+ then the Confluence user will be running two processes, both java, but one is Confluence, and the other is Synchrony.  "ps -ef | grep confl" will expose that (it's worth checking)

So, the problem now is what makes you think it is consuming 12Gb of RAM, when both processes are (probably) capped at 1Gb?  There is some overhead on top of the heap, as Roman mentioned, but it shouldn't be a lot.

FWIW we see the same thing - Confluence 6.0.4

2837 confluen 20 0  7651m 5.8g 25m  S 74   73.9 92090:48  java

Java min and max heap size is set to 4G.

So it's using almost 2G on non-heap stuff, which is a huge amount!

does anybody know if this issue is solved within the latest version as we are about to update soon?  

I don't really care about the consumtion but confluence crashes after appr. 1 h - I have to restart the app. I assume it is a memory issue.

Jira and bitbucket are running fine on the same maschine.


I installed Javamelody and got the following results. I had to increase memory to 2 GB to cover the memory peaks.screen memory 180823.pngThere has to be a problem with memory consumtion.  

at least it does not work with our setup with the default set of 1 GB RAM. Now it seems to be stable.

This is normal. We have to increase heap-size by a lot to avoid problems, the defaults are no where NEAR enough.

CATALINA_OPTS="-Xms6144m -Xmx8192m -XX:+UseG1GC ${CATALINA_OPTS}"

... and top shows:

11255 confluence   20   0 13.314g 8.097g  36856 S   5.6 52.2  17940:25 java

thanks, do I really have to  increase to 6/8 GB - today I had memory consumption of 2,8 GB in top. I will increase and try. 

No, I suppose you do not "have to", your mileage may vary depending on number of users and what authentication-method you are using. Monitoring and analyzing the application is the only way to see how / if it needs tuning.

still the installation is strange. I have pretty much the same installation for 2 companies. Both have appr. the same content. Both differ in RAM consumption as indicated in the graph.

The second has now 4 GB, the first 2 GB RAM.


screen memory 180824.png     

there are only 3 users and both use central authentication-method - provided by Jira.

What difference makes the authentication-method?  

today I got this memory consumption

screen confl 180827.png

Looks like a not good enough working GC - btw.- the VM has 4 GB RAM

today I got as follows, this cannot be normal!screen confl 180828.png

still the same story, whatever I assign I, confluence is crashing after a while, when I use 6 GB for xms, confluence is using 6,1 GB according to top - and there is the other confluence task running, in melody I see a peak which reaches the limit and therefore crashes the maschine.

I assume that peak is some job - maybe indexing.      

No I try with CATALINA_OPTS="-Xms6144m -Xmx8192m -XX:+UseG1GC ${CATALINA_OPTS}"

My conf had a setting for maxpermsize as well.


have you resolved this issue? I am also encountering the same.

Same Problem here.

Java params:

-Xms3G -Xmx3G

top shows nearly 6GB consumed by both java processes (confluence + synchrony)


Leads regularly to warnings from our monitoring.

After restarting, it seems to be fine for a couple of days, but starts again to grow. We are encountering this issue since we switched to openJDK.

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Confluence Cloud

What's New in Confluence Cloud – June 2020 Edition

Ready for the monthly rollup of what happened in May for Confluence Cloud? Improved mobile login experience (& SSO) For those of you with the Confluence mobile app, we know the login experien...

24,910 views 40 79
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you