esxtop 是什么
esxtop 是 VMware ESXi 主机自带的实时性能工具,运行在 ESXi Shell(开启 SSH 或用 DCUI 的 Troubleshooting Options)里,视角是宿主而不是虚机内部。它把宿主指标分成 CPU、内存、存储适配器、存储设备、网络、中断等视图:交互模式用于现场盯指标定位瓶颈,批处理模式(-b)用于定时采样、导出 CSV 做趋势分析。相比 vCenter 的性能图表,esxtop 粒度更细、字段更多,适合排查单台主机上的资源争用。
基本信息
| 适用平台 | ESXi 6.5/7.x/8.x 主机 Shell(需 root 权限) |
|---|---|
| 交互启动 | esxtop(默认进入 CPU 视图) |
| 视图切换 | c CPU、m 内存、d 存储适配器、u 存储设备、n 网络、i 中断 |
| 批处理采样 | esxtop -b -n 轮次 -d 间隔秒 > 文件.csv |
| 常用交互键 | s 改刷新间隔、f 选字段、V 切到虚机视图、q 退出 |
| 核心指标 | %RDY、%CSTP、%MLMTD、DAVG/cmd、KAVG/cmd |
典型使用场景
- 虚机响应变慢,判断是宿主机 CPU 超配争用还是虚机自身跑满
- 核对某台虚机的内存气球(balloon)与交换量,评估内存超配是否过度
- 定位存储侧瓶颈:区分设备延迟(DAVG)与队列拥塞(KAVG)
- 网络丢包与吞吐异常时看宿主侧网卡与队列统计
- 做容量基线:定期批处理采样,留下历史数据用于扩缩容决策
批处理采样与交互使用
批处理采样与交互使用
esxtop -b -n 1 > /tmp/esxtop-once.csv # 单轮快照,快速看一眼
esxtop -b -n 6 -d 5 > /tmp/esxtop-5min.csv # 每 5 秒采一次共 6 轮,约 30 秒窗口
# 交互模式:esxtop 进入后
# 按 c/m/d/u/n 切视图,按 s 输入新的刷新间隔秒数
# 按 f 选择要显示的字段,按 V 只看指定虚机,按 q 退出
watch -n 5 'esxtop -b -n 1 | grep -E "^\"?[0-9]" | head -20' # 粗看前若干行的实时值关键指标读法
| 指标 | 含义 | 正常与异常 |
|---|---|---|
| %RDY | 虚机就绪但未被调度的等待占比 | 单虚机持续高于 5%-10% 提示 CPU 争用或超配 |
| %CSTP | 协同调度等待,仅多 vCPU 虚机有意义 | 非零并持续上升说明 vCPU 数与宿主负载不匹配 |
| %MLMTD | 因 CPU 上限(Limit)被限制的占比 | 非零说明是人为限额卡住,而不是资源不够 |
| DAVG/cmd | 设备层平均命令延迟(毫秒) | 持续数十毫秒以上说明后端存储吃力 |
| KAVG/cmd | VMkernel 队列中的平均等待 | 偏高说明队列拥塞,先查超配与队列深度 |
| MEMSZ/MBLOON | 分配内存与气球回收量 | 气球量长期偏高说明内存超配过度 |
批处理输出的 CSV 字段顺序随 ESXi 版本变化,且首列常带引号与空格;写解析脚本时按列名取,不要按固定序号取。
宿主侧与虚机内要一起看:esxtop 的 %RDY 高说明在等宿主,虚机内 top 的 us/sy 高说明业务自己吃满。只看一侧容易得出相反结论。
交互模式下的刷新间隔过短(例如 1 秒)本身会增加宿主负载,排查长尾问题时应拉长间隔、延长轮次。