Skip to content

Instantly share code, notes, and snippets.

@chausen
Created March 19, 2025 15:07
Show Gist options
  • Save chausen/306334093b6cd2c952f2316c0ff6b773 to your computer and use it in GitHub Desktop.
Save chausen/306334093b6cd2c952f2316c0ff6b773 to your computer and use it in GitHub Desktop.
ESXi fields

You said: Can you give me a general overview of how to understand the output of this command? I basically want to see cpu/memory/gpu/disk/network utilization/wait time for all of my vms

ChatGPT said: The esxtop command in ESXi provides real-time performance metrics for your VMs and hosts. When exported to a CSV file, it includes various performance metrics for CPU, memory, GPU (if applicable), disk, and network. Here's a general overview of how to interpret the output:

1. Understanding the Columns

The CSV file will have multiple columns corresponding to different metrics. While the exact column names depend on the version of ESXi, here are some key ones:

CPU Metrics

%USED – CPU time used by the VM (per vCPU or aggregated). %RUN – Time the VM is actually executing on the CPU. %RDY – Time the VM is ready to run but waiting for CPU (high values indicate CPU contention). %CSTP – Time spent waiting due to co-scheduling issues in SMP VMs. %WAIT – Time the VM is waiting (can include I/O wait).

Memory Metrics

MEMCTL – Memory reclaimed by ballooning. MEMSZ – Configured memory for the VM. SWCUR – Amount of memory swapped (high values indicate memory overcommitment). MEMSTATE – State of the VM’s memory. MEM%ACT – Active memory percentage (how much memory is actually being used).

GPU Metrics (if applicable)

GPU UTIL – GPU utilization percentage. GPU MEM – GPU memory usage. GPU LAT – Latency in accessing GPU resources.

Disk Metrics

CMDS/s – Number of disk commands per second. READS/s & WRITES/s – Read and write operations per second. DAVG/cmd – Average device latency (higher values indicate storage issues). KAVG/cmd – Kernel latency in processing I/O requests. Network Metrics PKTTX/s & PKTRX/s – Packets transmitted and received per second. MBTX/s & MBRX/s – Megabytes transmitted and received per second. DROPTX & DROPRX – Dropped packets.

2. Identifying Performance Bottlenecks

Look for the following:

High %RDY (>10%) → CPU contention (VM waiting for CPU). High %WAIT with low %USED → I/O or memory issues. High DAVG/cmd (>20 ms) → Disk latency issues. High DROPTX or DROPRX → Network congestion.

3. Viewing Data Per VM vs. Per vCPU

If the row includes "Group", it likely represents the sum or average across all vCPUs for that VM. Rows with "V1", "V2", etc., correspond to individual vCPUs.

4. How to Analyze the CSV

Open in Excel/Pandas – The CSV format is easy to analyze using Excel or Python (Pandas). Filter by VM Name – Look at specific VMs to see resource usage. Sort by %RDY, DAVG/cmd, or other key metrics – This helps identify performance issues quickly. Would you like help parsing and analyzing a sample CSV file? If you upload one, I can extract key insights for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment