Virtual Datacenters

Resource Quotas

Enforce hard limits on compute resources per VDC.

Resource quotas prevent any single Virtual Datacenter from consuming more than its fair share of the platform's compute capacity. They are enforced at VM creation and resize time. If an operation would push the VDC over its limits, it is rejected.

Understand quotas

Each VDC can have two quota dimensions:

QuotaWhat it limitsUnit
maxVCPUsTotal virtual CPU cores across all VMs in the VDC.Integer (cores)
maxMemoryMiBTotal memory across all VMs in the VDC.Integer (MiB)

Quotas are optional. A VDC without quotas has no resource limits. It can consume whatever the underlying infrastructure provides. This is fine for single-tenant deployments or dedicated environments, but for shared infrastructure you will want quotas on every VDC.

Enforcement works like this:

  1. A user requests a new VM with 4 vCPUs and 8192 MiB of memory.
  2. The orchestrator sums up the resources of all existing VMs in the VDC.
  3. If the new VM would push the total past either quota limit, the request is rejected.
  4. Otherwise, the VM is created normally.
Quotas are checked against the configured (allocated) resources of VMs, not their actual usage. A VM configured with 8 vCPUs counts 8 vCPUs toward the quota regardless of whether it is idle or running at full load.

Plan capacity

When setting quotas, think about the tenants' workloads and the total capacity of your infrastructure.

Example: You have 3 Proxmox nodes with a combined 192 CPU cores and 768 GiB of RAM. You want to serve 4 tenants with roughly equal capacity, leaving some headroom for the platform itself.

VDCmaxVCPUsmaxMemory
tenant-a40160 GiB
tenant-b40160 GiB
tenant-c40160 GiB
tenant-d40160 GiB

That allocates 160 of 192 cores and 640 of 768 GiB, leaving comfortable headroom.

Overcommitting is fine. Not every VDC will use its full quota simultaneously. A ratio of 1.2x to 1.5x total quota vs. physical capacity is reasonable for most workloads. Just keep an eye on actual utilization.

Some rules of thumb:

  • Development/staging VDCs can have tight quotas. Developers do not usually need large VMs.
  • Production VDCs need room to scale. Set quotas based on peak expected usage plus a buffer.
  • Shared services VDCs (DNS, monitoring, bastion hosts) typically need minimal quotas.

Monitor usage

The portal displays quota usage visually in the dashboard, showing how much of each limit is allocated and how much remains available.

The dashboard displays current resource allocation against quota limits for the selected VDC.

You can also see per-VM resource allocation on the VM list page to understand which VMs are consuming the most quota.

The VM list shows CPU and memory allocation for each VM, helping identify where quota is being consumed.

Stopped VMs still count toward quotas. Their resources are allocated even though they are not actively consuming CPU or memory. If you need to free up quota, delete VMs you no longer need rather than just stopping them.