64 bit memory space

We have used this plugin for several years and during this time we have found that the plugin will not work if the wiki JVM expands beyond the 32 bit memory space.

We have tried many different configurations and get the error message the 'dot can not be found' if the JVM exceeds 3.2Mb boundary.

Is it possible to run this plugin on a 64 bit machine where JVM memory exceeds 4Mb?

Please advise

Stephen Gramm

3 answers

1 accepted

1 vote
Accepted answer

Hi Stephen,

Confluence and all it's addons will run just fine on a 64bit JVM, although we do recommmend that customers using a Heap size under 2GB to use 32bit JVMs for performance purposes. However, as you are discovering, it isn't possible to allocate more than 4GB, (in practical terms the limit is actually around 3.2GB), but upgrading to a new JVM will resolve this issue and allow you to increase the Heap allocation without any problems for Confluence or the plugin you wish to install.

All the best,
John

It is our experience that the Graphviz plugin will fail to work correctly when using a larger JVM setting that exceeds the 3.2Mb 32 bit barrier. We believe this is caused by the Graphviz plugin only when the heap actually approaches the 3.2Mb limit and that even using the 64bit JVM configurations causes the error.

This error was found while running load testing using Load Runner on Red Hat Linux v6.

I'm not familiar with this plugin but use graphviz in my own plugins. What you are describing sounds quite implausible, as the plugin just calls out to the graphviz executable using System.getRuntime(),exec or whatever.

As I stated earlier the 32 bit barrier prevents the graphviz executable from returning the result set to the Confluence wiki application. We can prove this behavior and demostrate the failure by simply adding a large Excel spreadsheet so that the allocated JVM bumps up against the JVM limit and then opening a page that uses the Graphviz flowchart plugin.

Moreover, all attempts to using a 64 bit addressable memory space is not the solution because the plugin will simply not work if the 3.2Gb limit is exceeded. We know this because we have tried it many times and always get the same result. Again I should stress that it will work fine until the application starts running up to the 32 bit barrier using the 64 bit JVM, but as soon as the java runtime reaches 3.2Gb the Graphviz plugin fails to work properly.

We have repeatedly documented this behavior and earnestly look for a solution. We appreciate your input and hope someone with experience using this plugin would have found a work around to the stated problem.

You're talking about 3.2Gb as though that's some kind of fixed limit, but I'm not sure which limit you are referring to. 4Gb memory is addressable with 32-bit pointers. Are you referring to the fact that the actual usable memory for a 32-bit process is around 3Gb, after subtracting space for whatever overhead the OS adds? Or on windows, 2Gb. What is the max heap you are have set for your confluence?

Thanks for your prompt reply to our request.

We worked with Atlassian to help us with the configuration of our Confluence instance. Here is the current settings we use on Redhat 6 to keep the application and the Graphviz plugin running in the 32 bit memory space:

JAVA_HOME=/app/common/java/jdk1.6.0_27
JAVA_OPTS="-Xmx2g -Xms2g -Xmn1g -Xss512k
-XX:ParallelGCThreads=20
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-XX:SurvivorRatio=8
-XX:TargetSurvivorRatio=90
-XX:MaxTenuringThreshold=31
-XX:+AggressiveOpts
-XX:+DisableExplicitGC
-XX:PermSize=384m
-XX:MaxPermSize=384m
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+PrintClassHistogram
-verbose:gc
-Xloggc:/app/confluence/data/logs/gc-`date '+%Y%m%d_%H%M'`.log
-XX:+HeapDumpOnOutOfMemoryError
-Dupm.pac.disable=true
-Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true
-Djava.awt.headless=true"

If we set the memory to: JAVA_OPTS="-Xmx3g -Xms3g -Xmn1g -Xss512k

Graphviz will fail. This will always happen when the java application and processes reaches the 3.2Gb limit so we throttle it back to avoid the upper limit.

We have enough memory to use the 64 bit address space but cannot do so because of this plugin.

Doesn't make any sense to me, but perhaps it will to @BobSwift.

There shouldn't be any such limitation. Jamie is correct, it is just running the executable in the normal way. Make sure you are on the latest Graphviz plugin version and reproduce the problem. Later versions of the plugin produce better error logging info, so find the information in the log and see if that helps. If not, attach that information to an issue.

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Oct 31, 2018 in Marketplace Apps

Marketplace Spotlight: Zephyr

Hello Atlassian Community! Each month, we run a series of Spotlights to highlight Marketplace vendors and apps that our team thinks this Community would find valuable. In last month's Spotlig...

302 views 0 1
Read article

Atlassian User Groups

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

Find a group

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

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you