Skip to content

CPU

You need central processing units (CPU) in order to run applications and services in your tenant.

  • The amount of CPU is expressed in number of vCPU cores.
  • The CPU resource expresses the total number of cores that you can allocate to your running applications and services.
  • If a service or application exceeds the limit for the CPU resource, then the DSH rejects the request for deployment. For example:
    • Your tenant has a CPU limit of 10 cores.
    • You currently have 9.8 cores allocated to your services and applications.
    • You try to deploy a new application with a CPU allocation of 0.4 cores in its service definition.
    • The DSH rejects this request, because the allocation of 10.2 cores (9.8 + 0.4) exceeds the limit of 10 cores.
  • You can request a higher CPU limit via the DSH Console.

Limits

The DSH imposes the following limits on CPU:

  • Maximum number of cores: The maximum number of cores that you can allocate simultaneously across all your applications and services. The DSH checks the limit when it receives a request to deploy a service or application.

Note

The limit doesn’t influence the actual CPU usage of your applications or services. In order to manage the CPU usage of a running service or application, the DSH uses the amount of CPU that you allocated to it in its service definition:

  • You set the amount of allocated CPU in the service definition, when you configure a service or application.
  • When you deploy a service or application, the DSH checks its allocated CPU against the limit. The DSH only deploys the service or application if that doesn’t exceed the CPU limit.
  • Once your application or service is up and running, the DSH guarantees that is has access to the amount of allocated CPU that you defined in the service definition.
  • However, the DSH does allow your application or service to spike above the number of allocated CPU cores in the service definition if enough CPU is available on the node.

In other words: the DSH distributes the excess capacity of CPU on a node across all applications and services, while guaranteeing that each service and allocation receives its amount of allocated CPU as a minimum.

You can request a new limit:

  • Via the overview page for resources:
    • Click “Resources” > “Overview” in the menu bar of the DSH Console.
    • Click the “Request” button next to “CPU”.
    • Fill out the desired value and click “Request”.
  • Via the overview page for services:
    • Click “Services” > “Overview” in the menu bar of the DSH Console.
    • Click the “+” button next to the blue bar for CPU, at the top of the page.
    • Fill out the desired value and click “Request”.

A platform administrator will process your request, which appears as a ticket in the Support Portal.

Inspecting the CPU allocation

You can inspect the CPU limit and the number of allocated cores in 2 places in the DSH Console:

  • On the overview page for resources:
    • Click “Resources” > “Overview” in the menu bar of the DSH Console.
    • The number of allocated cores and the CPU limit appear next to “CPU”.
  • On the overview page for services:
    • Click “Services” > “Overview” in the menu bar of the DSH Console.
    • The bar next to “CPU” represents the CPU limit. The blue part of the bar represents the number of allocated cores. You can find the actual numbers next to the bar.

If you deploy your services with specific CPU allocations in the service definition, then it’s important to monitor the total usage of CPU against the defined limit:

  • Let’s assume that the total CPU usage exceeds the limit by 1 CPU core.
  • You attempt to restart a running service requiring 0.1 CPU core.
  • The restart will fail because the system enforces the CPU limit, preventing the restarted service from running.
  • To avoid this issue, make sure that the total CPU usage is within the allowed limit before you restart a service.

Tip

The overview page for services also contains a table with all of your tenant’s applications and services. The “CPU” column displays the number of allocated cores for each individual application and service.