ESXi CPU 使用率高怎么排查?esxtop 一键定位占用高的虚拟机与进程

当 ESXi 主机 CPU 占用持续偏高、虚拟机卡顿、业务响应慢时,很多管理员不知道从何入手。本文以 ESXi 原生排查工具esxtop为核心,教你通过按c查看 CPU 概览、按f调出详细字段,快速定位是哪台虚拟机、哪个进程抢占 CPU,步骤简单直观,无需复杂工具,登录 SSH 即可快速排查问题。


一、排查前准备

  1. 登录 ESXi 网页后台,开启 SSH 服务
  2. 使用 SSH 工具(Xshell、FinalShell 等)以 root 登录 ESXi 主机
  3. 先简单观察:vCenter/ESXi 后台是否已有明显 CPU 告警

二、核心排查工具:esxtop

esxtop是 ESXi 自带的实时性能监控工具,类似 Linux 的 top,专门用于定位 CPU、内存、磁盘、网络瓶颈。

1. 启动 esxtop

直接在 SSH 里执行:

复制代码
esxtop

启动后默认显示综合性能页面。

2. 按 c 切换到 CPU 专用视图

在 esxtop 界面里直接按键盘上的 c 界面会切换为 CPU 详细统计页面,重点看几项:

  • PCPU USED(%):物理 CPU 总使用率
  • LCPUs/PCPUs:逻辑 CPU 与物理 CPU 比例
  • 下方列表:每台虚拟机的 CPU 占用排行

在这里可以一眼看出:

  • 是整体 CPU 跑满,还是个别虚拟机异常占用

3. 按 f 展开更多 CPU 关键字段

在 CPU 视图下按 f,进入字段选择菜单,可以开启更多用于精确定位的列:

常用建议开启的 CPU 排查字段:

  • C:CPU 核心占用明细
  • P:物理 CPU 映射
  • U:CPU 使用率详细百分比
  • M:内存相关辅助判断

选择完成后按空格或回车返回,界面会显示更完整信息,方便你判断:

  • 用户 CPU 高(虚拟机内部业务问题)
  • 还是系统 CPU 高(ESXi 内核、虚拟化开销)

三、快速定位高 CPU 虚拟机

在 esxtop 的 CPU 视图中,按以下逻辑判断:

  1. %USED 列,数值最大的就是 CPU 占用最高的虚拟机
  2. GID / Name 列,对应虚拟机名称
  3. %SYS:如果系统占用高,可能是 ESXi 自身进程、驱动或虚拟化调度问题
  4. %WAIT:等待过高通常不是真 CPU 忙,而是存储 / 网络瓶颈导致 CPU 空等

定位到具体虚拟机后,你可以:

  • 登录虚拟机内部查看任务管理器 / 进程占用
  • 临时限制该虚拟机 CPU 份额
  • 检查是否有死循环、恶意程序、数据库异常查询等

四、简单实用的进阶操作

  • V(大写):只显示虚拟机,隐藏系统进程,更清爽
  • P(大写):按 CPU 使用率从高到低排序
  • s + 数字 :修改刷新间隔,如s 2表示 2 秒刷新一次
  • q:退出 esxtop

五、常见原因总结

  1. 虚拟机内部业务进程占满 CPU(数据库、编译、病毒等)
  2. 虚拟机 CPU 分配过多,导致 ESXi 调度压力大
  3. CPU 超配严重,多个虚拟机争抢物理核心
  4. ESXi 自身服务、驱动、硬件异常导致系统 CPU 高
  5. 存储延迟高引发 CPU 大量 I/O 等待(% WAIT 偏高)
相关推荐
ambition2024214 小时前
操作系统同步:读者-写者问题与读写公平法详解(附每个 PV 操作含义)
linux·开发语言·数据结构·unix
zmzmzmalo14 小时前
Linux ELF文件加载与内存管理揭秘
linux·网络·数据库
chuan.bai17 小时前
Java RAG 实战(第 11 篇):RAG 知识工作台网页
java·开发语言·人工智能
0x5319 小时前
网站通信(一)
java
Terra.K19 小时前
Java异常学习[特殊字符]
java·开发语言·学习
三言老师20 小时前
K8s集群运行时自动化运维全覆盖落地实操(下)
linux·运维·服务器·网络
葡萄城技术团队21 小时前
InfluxDB 2\.x 深度解析:核心架构、Flux 函数与制造业落地指南(三)
java·开发语言·架构
Super 含21 小时前
Android 启动优化(五):线程、GC 与 IO 为什么会拖慢启动?
java·服务器·数据库
counting money21 小时前
Java IO流详解:从InputStream到文件操作实战
java·开发语言·python
ltl21 小时前
HAProxy HTX 与 HTTP 路径:内部表示、改写落点与协议分叉
linux