# Is My Instance Being Affected by Host Over-provisioning?

These panels let you decide, on your own, whether the underlying host is honest about the resources you paid for. If they are clean, the problem is inside the guest and you should move on to [Q2](/welcome/elastic-compute/instance-monitoring/02-workload-self.md).

## Hypervisor CPU Queue Time

The time a vCPU was *ready to run* but was not actually scheduled onto a physical core, measured by the hypervisor. This is the authoritative measurement of CPU steal — reported from the host side, where it cannot be hidden.

If this panel is non-trivial, the host is over-committed: another tenant or the host itself is competing for the same physical cores. Open a support ticket and reference this panel.

## CPU Other

The same phenomenon, observed from inside the guest. The "Other" panel sums the less common CPU states reported by `/proc/stat`, including steal time as the guest sees it.

This panel and Hypervisor CPU Queue Time should always agree in shape. We expose both deliberately so you can cross-check what your existing in-guest tooling (`top`, `sar`, `node_exporter`, etc.) is telling you against the host's view.

## CPU Pressure / Memory Pressure / I/O Pressure

Pressure Stall Information ("PSI") is a Linux kernel feature that reports the share of time tasks were stalled waiting for a resource. ZEC exposes three panels, one per resource:

* **CPU Pressure** — vCPUs were runnable but waiting on a physical core.
* **Memory Pressure** — the workload was stalled in memory reclaim or allocation.
* **I/O Pressure** — the workload was stalled waiting on the block backend.

Each panel has two lines:

* **some** — at least one task was stalled.
* **full** — every task was stalled (i.e., the workload made no forward progress at all). `full` does not apply to CPU; only memory and I/O expose it.

Pressure is the clearest single signal for "the host is the problem." Hypervisor CPU Queue Time tells you *how much* CPU was stolen; Pressure tells you *how much that hurt*. A short spike of stolen CPU on an idle workload is harmless; a small amount of stolen CPU on a workload already saturating its cores can drive the `full` line to 100% and stall the application completely.

When making an over-provisioning claim, screenshot **both** Hypervisor CPU Queue Time and the relevant Pressure panel. Together they are enough evidence for a support ticket to skip the back-and-forth.

## API Reference

All instance metrics use `DescribeInstanceMonitorData` with the `metricType` values below.

| Console Panel             | metricType              | Notes        |
| ------------------------- | ----------------------- | ------------ |
| Hypervisor CPU Queue Time | `HYPERVISOR_QUEUE_TIME` |              |
| CPU Other                 | `PROC_CPU_OTHER`        |              |
| CPU Pressure              | —                       | Console only |
| Memory Pressure           | —                       | Console only |
| I/O Pressure              | —                       | Console only |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.console.zenlayer.com/welcome/elastic-compute/instance-monitoring/01-overprovisioning.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
