Configure JVM heap size

Important

This feature is currently in preview. The Supplemental Terms of Use for Microsoft Azure Previews include more legal terms that apply to Azure features that are in beta, in preview, or otherwise not yet released into general availability. For information about this specific preview, see Azure HDInsight on AKS preview information. For questions or feature suggestions, please submit a request on AskHDInsight with the details and follow us for more updates on Azure HDInsight Community.

This article describes how to modify initial and max heap size for Trino pods with HDInsight on AKS.

Xms and -Xmx settings can be changed to control initial and max heap size of Trino pods. You can modify the JVM heap settings using ARM template.

Note

In HDInsight on AKS, heap settings on Trino pods are already right-sized based on the selected SKU size. These settings should only be modified when a user wants to control JVM behavior on the pods and is aware of side-effects of changing these settings.

Prerequisites

Example

Specify configurations in serviceConfigsProfiles.serviceName[“trino”] for common, coordinator or worker components under properties.clusterProfile section in the ARM template.

The following example sets the initial and max heap size to 6 GB and 10 GB for both Trino worker and coordinator.

"serviceConfigsProfiles": [
    {
        "serviceName": "trino",
        "configs": [
            {
                "component": "common",
                "files": [
                    {
                        "fileName": "jvm.config",
                        "values": {
                            "-Xms": "6G",
                            "-Xmx": "10G"
                        }
                    }
                ]                
            }
        ]
    }
]

Deploy the updated ARM template to reflect the changes in your cluster. Learn how to deploy an ARM template.

Constraints on heap settings

  • Heap sizes can vary between 50% to 90% of the allocatable pod resources, any value outside of this boundary results in failed deployment.
  • Permissible units for heap settings are MB: m & M, GB: g & G and KB: k and K.