> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/self-managed-enterprise-edition/use-self-managed-enterprise-edition/smp-installationupgrade/operator-installation/advanced-configuration/resource-sizing.md).

# Resource sizing

Review default CPU and memory allocations and resize when recommended.

The installer sets CPU and memory requests and limits for the operator container and the satellite pod. Resize these values only if there is a recommendation from the Harness SMP team.

***

### Default values <a href="#default-values" id="default-values"></a>

Two keys control sizing, one for the operator container and one for the satellite pod.

* `resources` applies to the main operator container used by the installer StatefulSet (and manager Deployment mode).
* `satellite.resources` applies to the satellite DaemonSet pod that runs on cluster nodes.

```yaml
resources:
  requests:
    cpu: 100m
    memory: 256Mi
  limits:
    cpu: 500m
    memory: 1Gi

satellite:
  resources:
    requests:
      cpu: 100m
      memory: 200Mi
    limits:
      cpu: "1"
      memory: 200Mi
```

***

### Resize the allocations <a href="#resize-the-allocations" id="resize-the-allocations"></a>

Resize only if there is a recommendation from the Harness SMP team. The following examples increase the allocations for both the operator and the satellite. Select the tab that matches your installation method.

{% tabs %}
{% tab title="helm" %}
Add the following to `override.yaml` to increase resources for both the installer and the satellite:

```yaml
resources:
  requests:
    cpu: 250m
    memory: 512Mi
  limits:
    cpu: "1"
    memory: 2Gi

satellite:
  resources:
    requests:
      cpu: 250m
      memory: 256Mi
    limits:
      cpu: "1"
      memory: 512Mi
```

{% endtab %}

{% tab title="clustermgr" %}
Pass the equivalent values with `--pi-set` on the install command:

```bash
--pi-set resources.requests.cpu=250m \
--pi-set resources.requests.memory=512Mi \
--pi-set resources.limits.cpu=1 \
--pi-set resources.limits.memory=2Gi \
--pi-set satellite.resources.requests.cpu=250m \
--pi-set satellite.resources.requests.memory=256Mi \
--pi-set satellite.resources.limits.cpu=1 \
--pi-set satellite.resources.limits.memory=512Mi
```

{% endtab %}
{% endtabs %}

Start with the defaults, then resize gradually based on observed usage.

***

### Related articles <a href="#related-articles" id="related-articles"></a>

* [Pod security context](/self-managed-enterprise-edition/use-self-managed-enterprise-edition/smp-installationupgrade/operator-installation/advanced-configuration/pod-security-context.md): Set the user and group IDs the containers run as.
* [CLI reference](/self-managed-enterprise-edition/use-self-managed-enterprise-edition/smp-installationupgrade/operator-installation/cli-reference.md): Installation parameters for the helm and clustermgr flows.
* [Kubernetes cluster requirements](/self-managed-enterprise-edition/use-self-managed-enterprise-edition/smp-installationupgrade/operator-installation/prerequisites/kubernetes-cluster-requirements.md): Cluster capacity to confirm before you install.

{% @harness-feedback/feedback %}
