How to use > 2G max memory


#1

Currently the UI limits this to 2G. This seems small especially for using large projects.

I have seen many entries on “how to save memory” on large projects, which frankly is a concern in itself.

2G is small for modern machines and certainly is small amount for engineers doing enterprise level development, hence why I am using the “Enterprise” version of the product.

Please explain how to increase this value.

Thank ahead.
MrP


#2

An excellent question!

There are several ways to do this but the easiest is from within Visual Paradigm itself. Activate the ‘Help’ tab and then click on ‘About’. Open the ‘Utilities’ tab and there you’ll find a drop down which allows you to set the desired amount of memory:

When done click ‘close’ and restart the program for your changes to take effect.

Hope this helps!


#3

I am a bit confused by your answer.

The question clearly states the UI limits the memory to 2G, and asks how to get around that limitation.

Are you saying that the UI should show options > 2G?


#4

Hi,

You can follow the “Manual approach” section in this knowhow and modify the “Xmx” value:


#5

Thank you for the quick response and the link. I did see this earlier but was a bit concerned since the UI itself limited it to 2G.

The Java VM has no such limitation per se, but this 2G limit has been on VP for many years based on looking at older versions and discussions on the web.

I will update the VM args and look the process and see if it indeed did use the larger memory space.

I will also add a feature request to allow the UI to allow for larger values.

Thanks again!


#6

Thanks for your suggestion, we’ll consider enhancing the UI for larger values.


#7

Has anyone verified that setting the -Xmx and -Xms values via the info.plist actually work? I mean for values > 2G

First of all setting -Xmx > 2G does not work. The VM will never grow past 2G. I verified this with system profiling tools as well as attaching JConsole. The max heap size reported by the VM is 2G period, it doesn’t matter what the -Xmx setting is.

So, I tried setting the -Xms value to >2G so it starts with a >2G space. In this scenario VP will not even start.

Also note that the -Xms values, when <2G seem to be ignored as well. For example setting -Xms to 1G will not start the VM off at 1G of space.

I seem to remember seeing something like this before when there were 32-bit binaries w/native code and/or 32-bit JVM’s running around. You would end up getting maxed out at 2G (even though 4G was supposedly possible) and would just crash if setting higher.

So it seems that changing the settings in info.plist do not work for values >2G.

What I see from JConsole is the that in the VM arguments:
-Dfile.encoding=UTF-8 -Xmx4096m -Xms2048m -Dsun.java2d.noddraw=true -Dvp.launcher.version=13.1 -Xmx2048m -Djava.io.tmpdir=${installer:sys.appdataDir}/VisualParadigm/tmp -Dapple.awt.rendering=speed -Dapple.awt.graphics.UseQuartz=true -Dinstall4j.launcherId=5 -Dinstall4j.swt=false -Dexe4j.moduleName=/Applications/Visual Paradigm.app -Di4j.ownBundlePath=/Applications/Visual Paradigm.app -Di4j.jreBundle=/Applications/Visual Paradigm.app/Contents/Resources/jre.bundle

** NOTE ** That there is a first -Xmx4096 (my value) and the a SECOND with -Xmx2048 (culprit). The VM will pick up the last value so maybe this is why the 2G appears to be the limit. Whatever script produces this must be the problem.

I am on MAC OS X 10.12.2 with 128GB memory. I am using VP Pro v 14.2 build sp1_20171203