You can scale the heap memory size of the Automation Orchestrator server by creating a custom profile and modifying the resource metrics file.

You can adjust the heap memory size of the Automation Orchestrator server, so your orchestration environment can manage changing workloads. For example, you can increase the heap memory of your Automation Orchestrator deployment if you are planning to manage multiple vCenter instances.

Prerequisites

  • Scaling the heap memory of the Automation Orchestrator Appliance is only applicable for standalone Automation Orchestrator instances and is not supported for embedded Automation Orchestrator instances in VMware Aria Automation.
    Note: To modify the heap memory of an embedded Automation Orchestrator instance, you must increase the VMware Aria Automation profile size through the VMware Aria Suite Lifecycle. For information on supported VMware Aria Automation profiles, see System Requirements.
  • Enable SSH access to the Automation Orchestrator Appliance. See Activate or Deactivate SSH Access to the Automation Orchestrator Appliance.
  • Increase the RAM of the virtual machine on which Automation Orchestrator is deployed up to the next suitable increment. Because it is important that enough memory is left available for the rest of the services, the Automation Orchestrator Appliance resources must be scaled up first. For example, If the desired heap memory is 7G then the Automation Orchestrator Appliance RAM should be increased with 4G respectively because the subtraction between the default heap value of 3G and the desired heap memory is 4G. For information on increasing the RAM of a virtual machine in vSphere, see Change the Memory Configuration in vSphere Virtual Machine Administration.

Procedure

  1. Log in the Automation Orchestrator Appliance command line over SSH as root.
  2. To create the custom profile directory and the required directory tree that is used when the profile is active, run the following script:
    vracli cluster exec -- bash -c 'base64 -d <<< IyBDcmVhdGUgY3VzdG9tIHByb2ZpbGUgZGlyZWN0b3J5Cm1rZGlyIC1wIC9ldGMvdm13YXJlLXByZWx1ZGUvcHJvZmlsZXMvY3VzdG9tLXByb2ZpbGUvCgojIENyZWF0ZSB0aGUgcmVxdWlyZWQgZGlyZWN0b3J5IHRyZWUgdGhhdCB3aWxsIGJlIHVzZWQgd2hlbiB0aGUgcHJvZmlsZSBpcyBhY3RpdmUKbWtkaXIgLXAgL2V0Yy92bXdhcmUtcHJlbHVkZS9wcm9maWxlcy9jdXN0b20tcHJvZmlsZS9oZWxtL3ByZWx1ZGVfdmNvLwoKIyBDcmVhdGUgImNoZWNrIiBmaWxlIHRoYXQgaXMgYW4gZXhlY3V0YWJsZSBmaWxlIHJ1biBieSBkZXBsb3kgc2NyaXB0LgpjYXQgPDxFT0YgPiAvZXRjL3Ztd2FyZS1wcmVsdWRlL3Byb2ZpbGVzL2N1c3RvbS1wcm9maWxlL2NoZWNrCiMhL2Jpbi9iYXNoCmV4aXQgMApFT0YKY2htb2QgNzU1IC9ldGMvdm13YXJlLXByZWx1ZGUvcHJvZmlsZXMvY3VzdG9tLXByb2ZpbGUvY2hlY2sKCiMgQ29weSB2Uk8gcmVzb3VyY2UgbWV0cmljcyBmaWxlIHRvIHlvdXIgY3VzdG9tIHByb2ZpbGUKY2F0IDw8RU9GID4gL2V0Yy92bXdhcmUtcHJlbHVkZS9wcm9maWxlcy9jdXN0b20tcHJvZmlsZS9oZWxtL3ByZWx1ZGVfdmNvLzkwLXJlc291cmNlcy55YW1sCnBvbHlnbG90UnVubmVyTWVtb3J5TGltaXQ6IDYwMDBNCnBvbHlnbG90UnVubmVyTWVtb3J5UmVxdWVzdDogMTAwME0KcG9seWdsb3RSdW5uZXJNZW1vcnlMaW1pdFZjbzogNTYwME0KCnNlcnZlck1lbW9yeUxpbWl0OiA2RwpzZXJ2ZXJNZW1vcnlSZXF1ZXN0OiA1RwpzZXJ2ZXJKdm1IZWFwTWF4OiA0RwoKY29udHJvbENlbnRlck1lbW9yeUxpbWl0OiAxLjVHCmNvbnRyb2xDZW50ZXJNZW1vcnlSZXF1ZXN0OiA3MDBtCkVPRgpjaG1vZCA2NDQgL2V0Yy92bXdhcmUtcHJlbHVkZS9wcm9maWxlcy9jdXN0b20tcHJvZmlsZS9oZWxtL3ByZWx1ZGVfdmNvLzkwLXJlc291cmNlcy55YW1sCg== | bash'
  3. Edit the resource metrics file in your custom profile with the desired memory values.
    vi /etc/vmware-prelude/profiles/custom-profile/helm/prelude_vco/90-resources.yaml
  4. The 90-resources.yaml file should contain the following default properties:
    polyglotRunnerMemoryRequest: 1000M
    polyglotRunnerMemoryLimit: 6000M
    polyglotRunnerMemoryLimitVco: 5600M
    
    serverMemoryLimit: 7G
    serverMemoryRequest: 5G
    serverJvmHeapMax: 4G
    serverJvmMetaspaceMax: 1G
    
    controlCenterMemoryLimit: 1.5G
    controlCenterMemoryRequest: 700m
    
    Property Type Description
    Polyglot properties Memory properties associated with the Polyglot scripting feature. The value of these properties is set in megabytes (M). When editing these values, remember that on average a container needs 64M of memory. With the default memory limit of 6000M, you can run approximately 100 Polyglot scripts in parallel.

    If you want to increase the number of Polyglot scripts that can run in parallel, you need to increase the values of the polyglotRunnerMemoryLimit and polyglotRunnerMemoryLimitVco properties.

    First, edit the memory limit of the polyglotRunnerMemoryLimit property and then change the value of polyglotRunnerMemoryLimitVco to be 300M less than the value you set in the polyglotRunnerMemoryLimit property.

    The following is an example polyglot memory limit configuration:

    polyglotRunnerMemoryRequest: 1000M
    polyglotRunnerMemoryLimit: 7000M
    polyglotRunnerMemoryLimitVco: 6700M
    Server memory properties The memory properties of the Automation Orchestrator server. The value of these properties is set in gigabytes (G). First, edit the serverJvmHeapMax property with the desired memory value. The values of the serverMemoryLimit and serverMemoryRequest properties must be adjusted as follows: serverMemoryRequest must be at least 50% bigger that serverJvmHeapMax and serverMemoryLimit should be at least 2G bigger than serverMemoryRequest.

    The following is an example server memory configuration:

    serverMemoryLimit: 14G
    serverMemoryRequest: 12G
    serverJvmHeapMax: 8G
    serverJvmMetaspaceMax: 1G
    Control Center memory properties The memory properties of the Automation Orchestrator Control Center. The values of these memory properties must not be updated.
  5. Save the changes to the resource metrics file and run the deploy.sh script.
    /opt/scripts/deploy.sh

Results

You have changed the heap memory size of your Automation Orchestrator server.