Forum

This content is now out of date.

Visit Our Community

JVM Max Memory

Yellowfin has hard memory limits that are set in configuration files. The application will never allocate more memory once it reaches these limits, even if the server has more free memory. In some cases this can cause errors if Yellowfin needs more memory.

Instructions for increasing the JVM Max Memory depend on how Yellowfin is started.

Windows Service
When the Yellowfin service is first installed, the memory limits are taken from the Yellowfinappserverb inservice.bat file. This file can be modified to provide different defaults, but this will only be read when the service is installed. To modify the memory limits for an existing service, follow this process:

Open the Command Prompt and change to the appserverb in directory under the Yellowfin installation directory. Run the command:
[quote]tomcat7w.exe //ES//Yellowfin[/quote]

Forum image


This will run the service manager for the Yellowfin service. Go to the "Java" tab, and change the "Initial memory pool" and "Maximum memory pool" values:

Forum image


Restart the Yellowfin service to pick up the changes.

Windows Start Menu
If you start the Yellowfin server from the Windows Start Menu, the memory limits are in the startup batch files.

Shut down Yellowfin
Edit the file Yellowfinappserverb incatalina.bat
Find the section:
[quote]rem Memory limits.
rem Use these options to set the Java memory limits.
rem -Xms128m sets the initial Java heap size to 128Mb
rem -Xmx512m sets the maximum Java heap size to 512Mb
rem To set memory limits uncomment the following line:
rem set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m[/quote]

Remove the "rem" from the start of the last line, and change the Xmx option to your desired max memory setting.
Restart Yellowfin to pick up the changes.

Linux/Unix/Mac OSX
If you run Yellowfin on Linux/Unix/Mac OSX, the memory limits are in the startup scripts.

Shut down Yellowfin
Edit the file Yellowfin/appserver/bin/catalina.sh
Find the section:
[quote]# Memory limits.
# Use these options to set the Java memory limits.
# -Xms64m sets the initial Java heap size to 64Mb
# -Xmx256m sets the maximum Java heap size to 256Mb
#JAVA_OPTS="$JAVA_OPTS -Xms64m -Xmx256m"[/quote]

Uncomment the last line, and change the Xmx option to your desired max memory setting.
Restart Yellowfin to pick up the changes.
In the Yellowfin 7 the new file is tomcat6w.exe and Yellowfin 7.1 the new file is tomcat7w.exe
Hi there,

When I updated the Maximum memory pool to 4096Mb on the Yellowfin Properties under the Java tab, the service would not start with the following error in the event log:

The Yellowfin service terminated with the following service-specific error:
The system cannot open the file.

If i revert if back to the default setting of 1024Mb the service starts up again. Any idea why this is happening? I would like to utilise the memory we have made available for the BI server (8Gb).

Thanks
Hiren Hirani

Hi,

2048 does not work either...and bombs out with the same error...

Thanks
We are preparing to up our Xmx to use much more memory, but it looks like certain amounts have failed. @David, should higher amounts of memory (like 8gb or 16gb) be ok?
Hi Mike,

Yes you can allocate as much mem as you want to Java.
However, if you're using a 32-bit version of Java I believe the limit is 2gb.

Thanks,
David
...and it can vary from machine to machine, sometimes I've seen the limit to be 1gb