The Spotfire server launches 3 Java processes on startup. These are the main Spotfire server process, the Ignite process, and the Information Services process.
Since these are seperate Java processes, they each have their own startup parameters and heap settings.
This article discusses how to adjust these for each process.
Spotfire Server
The Spotfire servers Java parameters can be altered using the Tomcat Service Manager
Note: Disregard any articles that suggest editing service.bat or setenv.bat, this is not the correct way to alter parameters.
To start the service manager, it's first necessary to find the name of the Spotfire Service. To do this
- Locate the Spotfire service under Windows services and select Properties
Note the name of the Spotfire service. In this example the name is 'spotfireserver-1401'
- Under a command line prompt cd to the directory <INSTALLATION ROOT>\tomcat\bin
Run the tomcat10w.exe command as follows :tomcat10w.exe //ES//spotfireserver-1401
Note: Depending on the version of Tomcat shipped with your Spotfire server the tomcat10w.exe may be called tomcat9w.exe or something similar.
So using the example above the command would be:
tomcat10w.exe //ES//spotfireserver-1401
- This will bring up a configuration GUI as below. Click on the Java tab.
The Java heap can be altered by setting the Initial memory pool , which in the minimum heap size (the -Xms parameter in Java) and the Maximum memory pool (-Xmx in Java)
Usually the initial and maximum heap sizes should be set to the same value, however it is important to review performance data for an accurate determination. Contact Revvity Support for more details.
Under Java Options Java startup parameters may also be altered. This is where -D type parameters may be added or removed.
The Spotfire Server needs to be restarted for any changes to take effect.
Editing JVM parameters on Spotfire Server under Linux
The process on a Linux system is more straightforward. All JVM heap settings and parameters are kept in the file.
(INSTALLATION ROOT)/tomcat/bin/setenv.sh
It is simply a matter of editing the file with the parameters required.
Restart the service to make the change effective.
Information Services
The Information Services Java process can be configured via the config-external-information-services-process command.
To alter parameters for this Java process.
Export the Spotfire server configuration
config.bat export-config
To alter the heap parameters using the following command (e.g.):
config.bat config-external-information-services-process --min-memory=4096M --max-memory=5120M
To add a JVM parameter use the (-A) parameter:
In this example we are enabling Bouncy Castle (needed for Snowflake private key authentication).
config.bat config-external-information-services-process -A-Dnet.snowflake.jdbc.enableBouncyCastle=true
After the required changes have been made, import the config and restart the Spotfire server.
config.bat import-config -c "Altered JVM parameters for Information Services"
Ignite
The Ignite Java process follows a similar method to the Information Services. JVM parameters are altered via the config-external-ignite-process
To alter parameters for this Java process.
Export the Spotfire server configuration
config.bat export-config
The command takes the same parameters as for configuring the IS process:
config.bat config-external-ignite-process --min-memory=2048M --max-memory=3096M
Additional Information
To check the current Java processes, use the following PowerShell snippet
The command takes the same parameters as for configuring the IS process:
Get-WmiObject Win32_Process -Filter "name = 'java.exe'" | Select-Object ProcessId, CommandLine | Format-List
On Linux:
ps -eo pid,cmd --sort=cmd | grep '[j]ava'
Comments
0 comments
Article is closed for comments.