Citrix Xenserver Performance Monitoring < LATEST · BREAKDOWN >

# Top 5 VMs by CPU usage (from Dom0) xentop -b -d 1 -n 5 xe host-list params=name-label,memory-total,memory-free | grep -B2 -A3 "free: [0-9]*$" Find VMs with disk latency >10 ms for vm in $(xe vm-list is-control-domain=false --minimal | tr ',' '\n'); do latency=$(xe vm-data-source-query vm=$vm data-source="vbd_xvda_latency" | awk 'print $2') if (( $(echo "$latency > 10" | bc -l) )); then echo $vm $latency; fi done This write-up applies to XenServer 7.x / 8.x and Citrix Hypervisor 8.2+. Always test monitoring scripts in a lab before production.

1. Introduction Citrix XenServer (now part of Citrix Hypervisor) is a enterprise-grade server virtualization platform. Effective performance monitoring is critical to ensure VM density, resource optimization, and application responsiveness. Without proactive monitoring, hidden resource contention (CPU ready, I/O latency, memory ballooning) can degrade user experience. citrix xenserver performance monitoring

host = session.xenapi.host.get_by_name_label("myhost")[0] cpu_usage = session.xenapi.host.get_data_source(host, "cpu_usage") print(cpu_usage) | Tool | Integration Method | Key Features | |------|------------------|--------------| | Citrix Director | Built-in (Citrix Virtual Apps) | VM performance, logon duration | | ControlUp | Agent + API | Real-time per-VM metrics, alerts | | SolarWinds Virtualization Manager | SNMP + API | Capacity planning, heat maps | | PRTG | SNMP + Custom sensors | Host/VM performance, alerts | | Zabbix | XenServer templates | Historical trending, graphing | 6. Common Performance Issues & Resolution 6.1 High CPU Ready / Steal Time Symptoms : VM feels slow, high %steal in xentop . # Top 5 VMs by CPU usage (from

# Host CPU utilization (average over 5 sec) xe host-data-source-list host=<host_uuid> name_label="cpu_usage" xe host-data-source-query host=<host_uuid> data-source="cpu_usage" xe vm-data-source-list vm=<vm_name> name_label="cpu_usage" xe vm-data-source-query vm=<vm_name> data-source="cpu_usage" VM disk latency xe vm-data-source-query vm=<vm_name> data-source="vbd_xvda_latency" Memory ballooning xe vm-data-source-query vm=<vm_name> data-source="memory_actual" 3.3 RRD Updates XenServer stores performance data in Round-Robin Databases (RRD) under /var/lib/xcp/rrd/ . You can extract them using: host = session