Troubleshooting ESXi Virtual Machine Performance Issues: A Step-by-Step Guide

Listen to this Post

You Should Know:

1. CPU Constraints

– `esxtop` Command:

esxtop 

Press `c` to view CPU metrics.

  • Check Load Average:
    vmstat -n 1 
    

Ensure load average stays below 1.00.

  • Check %READY Time:
    esxtop -> CPU view -> %RDY 
    

Keep under 5%.

  • Adjust CPU Allocation:
    vim-cmd vmsvc/getallvms # List VMs 
    vim-cmd vmsvc/reconfigure <VMID> --numvcpus <new_count> 
    

2. Memory Overcommitment

  • Monitor Memory:
    esxtop -> Memory view -> MCTLSZ (Ballooning), SWCUR (Swapping) 
    
  • Adjust Memory:
    vim-cmd vmsvc/reconfigure <VMID> --mem <new_memory_in_MB> 
    

3. Storage Latency

  • Check DAVG (Device Latency):
    esxtop -> Disk view -> DAVG/cmd 
    

Keep below 10ms.

  • Optimize Storage:
    esxcli storage core device list # List storage devices 
    esxcli storage nmp device list # Check multipathing 
    

4. Network Latency

  • Test Network Speed with iperf3:
    iperf3 -s # On server 
    iperf3 -c <server_ip> # On client 
    
  • Verify VMXNET3 Adapter:
    vim-cmd vmsvc/device.getdevices <VMID> | grep vmxnet3 
    
  • Check Network I/O Control:
    esxcli network ip connection list 
    

Other Critical Checks

  • Update VMware Tools:
    vmware-toolbox-cmd -v # Check version 
    
  • Remove Snapshots:
    vim-cmd vmsvc/snapshot.get <VMID> # List snapshots 
    vim-cmd vmsvc/snapshot.remove <VMID> <SnapshotID> 
    
  • Log Monitoring:
    cat /var/log/vmware/hostd.log | grep -i error 
    

What Undercode Say

Performance tuning in ESXi requires a systematic approach. Key takeaways:

1. CPU: Monitor `%RDY` and avoid overprovisioning.

  1. Memory: Ballooning (MCTLSZ) and swapping (SWCUR) must be minimized.
  2. Storage: High `DAVG` indicates storage bottlenecks—optimize LUNs and drivers.
  3. Network: Use `iperf3` and `VMXNET3` for optimal throughput.

Expected Output:

– `esxtop` CPU/Memory/Disk metrics.
– `vmstat` for load average.
– `iperf3` network benchmarks.
– `vim-cmd` for VM reconfiguration.

References:

Reported By: Shamseer Siddiqui – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅

Join Our Cyber World:

💬 Whatsapp | 💬 TelegramFeatured Image