The Cycle application provides the ability to input additional JVM parameters to tune how Cycle runs. This ability to tune Java parameters allows you to do things such as set the maximum memory heap size allocated to the Cycle Java process or specify proxy server information to make Cycle proxy-aware if running Cycle behind a proxy.
The server tuning parameters you set in your Cycle Application Preferences will only apply to Cycle when you run tests from the application itself. These server tuning parameters will not apply to Cycle-CLI executed from a local Powershell/CMD prompt or on a test agent in a pipeline. You will need to set a specific environment variable if you want to server tune your Cycle-CLI executions.
Server Tuning Cycle-CLI
In order to server tune Cycle-CLI, please follow the steps below to create a new environment variable called "JETVMPROP" on the machine where Cycle-CLI will run. This environment variable is injected at start-up of the Cycle-CLI Java process and will ensure Cycle-CLI runs with your preferred Java server tuning parameters.
1. In Windows, press the Windows + R keys to open a Run dialog box.
2. Type "sysdm.cpl" in the "Open" text box and click OK.
3. Go to the "Advanced" tab and click "Environment Variables".
4. Click "New" under the "System variables" section
5. Create the environment variable:
Enter 'JETVMPROP' in the "Variable name" text field
Enter your server tuning parameters in the "Variable value" text field
The click "OK"
6. Verify that the JETVMPROP environment variable now appears in the list of System variables and then click "OK"
7. Be sure to close any open Powershell or CMD windows on your device. Only Powershell and CMD sessions started after adding the environment variable will have the value set in the sessions.
In the steps above, I set the "JETVMPROP" value to '-Xmx4098m'. This server tuning paremeter my Java maximum memory heap size to 4GB.
In the example Cycle-CLI execution below, I echo the value of "JETVMPROP" to show that the environment variable has been set. The value of '-Xmx4098m' was passed to the Java process started by Cycle-CLI, verified in JConsole, and the maximum memory heap size was set accordingly.