How to use > 2G max memory

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.

1 Like

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!

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?


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

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!

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

1 Like

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${installer:sys.appdataDir}/VisualParadigm/tmp -Dapple.awt.rendering=speed -Dinstall4j.launcherId=5 -Dinstall4j.swt=false -Dexe4j.moduleName=/Applications/Visual -Di4j.ownBundlePath=/Applications/Visual -Di4j.jreBundle=/Applications/Visual

** 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

Any progress on this issue by anyone?

It has been improved in the coming 15.0 release (within this week), and now it support setting reserved memory up to 4GB. Stay tune to our website about v15.0 release.

Best regards,
Rain Wong

@Rain Thanks. But this way, the in-GUI memory setting will always remain limited.

The improvement I expect is that the VP manual approach (.vmoptions/info.plist file memory setting) that triggers VP to add JVM memory arguments, that one should have precedence over the in-GUI setting, not the other way around as demonstrated that it currently is.

That can be done by adding only one of the set of min/max memory arguments for the JVM, not both in-GUI and .vmoptions/info.plist sets. Or by reversing the order of the set of memory arguments passed to the JVM, compared to how it is now,
as demonstrated: How to use > 2G max memory
(post 7 by OP @i_am_mrp )

Thank you in advance.

Edits: clarity + link.

Hi ZenBalancer,

Just want to let you know we had released the v15.0 today and it comes with the enhanced memory setting in the About dialog. Licensed users can run the Update under Help menu to update their software to latest version. You are correct that it still limit the maximum memory setting. In fact we do expect 4GB ram is pretty sufficient for running the software. If it don’t then we will consider it should be something to improve. Feel free to contact me for any questions and wish you have a good day!

Best regards,
Rain Wong

@Rain Ok thanks.

By the way, why is the VP 15 date: 5 February 2017? See attachment:

Edits: correction + improvement.

Thanks, we have already fixed.