64 bit memory space

Stephen Gramm January 13, 2013

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
Answer accepted
JohnA
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 14, 2013

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

1 vote
Stephen Gramm January 14, 2013

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.

JamieA
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 14, 2013

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.

0 votes
Stephen Gramm January 21, 2013

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.

JamieA
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 21, 2013

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?

Stephen Gramm January 21, 2013

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.

JamieA
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 21, 2013

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

Bob Swift OSS (Bob Swift Atlassian Apps)
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 27, 2013

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
TAGS
AUG Leaders

Atlassian Community Events