Changing how JVMs are launched on the OS process level
All grid nodes including Host Router, router and application nodes are JVMs. When a grid node is started on a host, by default the new node is started using the same JDK or JRE as the Host Router on that host is running on. However, at times you may want to influence how the JVM processes are started in the operating system.
For example:
- You want a particular application to be launched using a particular JDK or JRE that is different from the one used by the grid agent.
- You have an application that is monopolizing a resource (such as CPU)
and you want to constrain the application nodes to a subset of the available CPU cores on
a host.
You want JVM processes belonging to a particular application to be launched using a specific user that is different from the user running the grid agent process.
Regardless of example or needs, the way you change how JVM processes are launched is as follows:
- Create a host operating system specific script file that launches the JVM process in the way you want.
- Override the Java Executable grid property so that it points to the script file created above. The scripts are most likely OS- and host-specific, so the recommendation is to define the property overrides in different host contexts.