What is JVM Max Memory and why should I care?

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 Yellowfin\appserver\bin\service.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 appserver\bin directory under the Yellowfin installation directory. Run the command:

tomcat6w.exe //ES//Yellowfin

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:

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 Yellowfin\appserver\bin\catalina.bat
Find the section:

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

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:

# 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"

Uncomment the last line, and change the Xmx option to your desired max memory setting.
Restart Yellowfin to pick up the changes.

Is article helpful?