Calculating Che resource requirements
The Che Operator, Dev Workspace Controller, and user workspaces consist of a set of pods. The pods contribute to the resource consumption in terms of CPU and RAM limits and requests. Learn how to calculate resources, such as memory and CPU, required to run Eclipse Che.
Che Operator requirements
The Che Operator manages six operands running in six distinct pods. The following table presents the default resource requirements of each of these operands.
Pod | Container names | Default memory limit | Default memory request |
---|---|---|---|
Che Server |
Che |
1 Gi |
512 MiB |
Che Gateway |
|
4 Gi, 256Mi, 512Mi, 512Mi |
128 Mi, 64Mi, 64Mi, 64Mi |
Che Dashboard |
|
256 Mi |
32 Mi |
PostgreSQL |
|
1 Gi |
512 Mi |
Devfile registry |
|
256 Mi |
32 Mi |
Plug-in registry |
|
256 Mi |
32 Mi |
The Che Operator, which powers all the operands, consists of a single container with the 64Mi
memory request and 256Mi
limit. These default values are sufficient when the Che Operator manages a relatively big amount of Che workspaces. For even larger deployments, consider increasing the defaults.
Dev Workspace Operator requirements
The Dev Workspace Operator consists of 3 pods. The following table presents the default resource requirements of each of these pods.
Pod | Container name | Default memory limit | Default memory request |
---|---|---|---|
Dev Workspace Controller Manager |
|
1 Gi |
100 Mi |
Dev Workspace Operator Catalog |
|
N/A |
50 Mi |
Dev Workspace Webhook Server |
|
300 Mi |
20 Mi |
These default values are sufficient when the Dev Workspace Controller manages a relatively big amount of Che workspaces. For larger deployments, consider increasing the defaults.
Workspaces requirements
This section describes how to calculate the resources required for a workspace. That is the sum of the resources required for each container of the workspace.
-
Identify the workspace components explicitly specified in the
components
section of the devfile. -
Identify the implicit workspace components.
Che implicitly loads the default theia-ide , che-machine-exec , che-gateway containers.
|
-
Calculate the requirements for each component.
A workspace example
This section describes a Che workspace example.
The following devfile defines the Che workspace:
schemaVersion: 2.1.0
metadata:
name: bash
components:
- name: tools
container:
image: quay.io/devfile/universal-developer-image:ubi8-0e189d9
memoryLimit: 4Gi
commands:
- id: run-main-script
exec:
label: "Run main.sh script"
component: tools
workingDir: '${PROJECT_SOURCE}'
commandLine: |
./main.sh
group:
kind: run
isDefault: true
This table provides the memory requirements for each workspace component:
Pod | Container name | Default memory limit | Default memory request |
---|---|---|---|
Workspace |
|
512 Mi |
64 Mi |
Workspace |
|
128 Mi |
32 Mi |
Workspace |
|
4 Gi |
64 Mi |
Workspace |
|
256 Mi |
64 Mi |
Total |
4.9 Gi |
224 Mi |