# Is My Own Workload the Problem?

These panels point inward at your application. When they move, look at your workload — not at the infrastructure.

## Memory Utilization — Real Utilization

Memory your workload is *actually* holding, excluding page cache and buffers. This is the number that tells you whether you are running out of memory.

## Memory Utilization — Utilization

The naive number most monitoring tools show by default — used / total, with cache counted as used. We show it next to **Real Utilization** so you can see the gap.

A high **Utilization** with a low **Real Utilization** is healthy: Linux is using free RAM as opportunistic cache, which is what it is supposed to do. A high **Real Utilization** is a workload problem: profile your application's memory use.

## Swap In / Swap Out

Pages swapped in from / out to disk, per second. Non-zero swap traffic on a production VM almost always means the workload has exceeded its working set. Either give the instance more memory, reduce the working set, or accept the latency penalty.

## KSWAPD Steal

How aggressively the kernel reclaim daemon is having to free pages. This rises *before* swap thrashing becomes visible — an early warning that the working set is approaching the wall.

## KSWAPD LHWM

Counts how often the reclaim daemon woke and immediately found memory below the low watermark. Read together with KSWAPD Steal, this tells you whether the kernel is doing its job calmly or fire-fighting.

## Swap Total / Swap Free

Capacity context for the swap activity panels above. Confirms whether swap is configured and how much headroom remains.

## System Load Average — Last 1 / 5 / 15 Minutes

Standard Linux load averages from inside the guest, over three time windows. Useful as a high-level sanity check, but not sufficient on its own — load includes processes in uninterruptible sleep, so a high load number can mean either CPU saturation or I/O saturation. Read it together with the CPU and disk panels.

## API Reference

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

| Console Panel                         | metricType     |
| ------------------------------------- | -------------- |
| Memory Utilization — Utilization      | `MEM_UTIL`     |
| Memory Utilization — Real Utilization | `REALMEM_UTIL` |
| Swap Total                            | `SWAP_TOTAL`   |
| Swap Free                             | `SWAP_FREE`    |
| Swap In                               | `SWAP_IN`      |
| Swap Out                              | `SWAP_OUT`     |
| KSWAPD Steal                          | `KSWAPD_STEAL` |
| KSWAPD LHWM                           | `KSWAPD_LHWM`  |
| System Load Average — Last 1 Minute   | `LOAD1`        |
| System Load Average — Last 5 Minutes  | `LOAD5`        |
| System Load Average — Last 15 Minutes | `LOAD15`       |


---

# 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/02-workload-self.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.
