0

0

CPU steal 高但 vmware-tools 未安装的 guest OS 调度问题

舞夢輝影

舞夢輝影

发布时间:2026-01-28 16:43:02

|

826人浏览过

|

来源于php中文网

原创

CPU steal 高却找不到 vmware-tools 进程,是因为缺少 open-vm-tools 导致 guest 无法与 hypervisor 协同调度,vCPU 时间片分配失控;需安装并启用 open-vm-tools、vmtoolsd、vmware-kmod(RHEL/CentOS)三服务,同时禁用 ESXi 的 CPU limit 和 CPU Hot Add 干扰项。

cpu steal 高但 vmware-tools 未安装的 guest os 调度问题

为什么 CPU steal 高却找不到 vmware-tools 进程

CPU steal 时间高,说明 guest OS 的就绪任务被 hypervisor 暂停等待 CPU 资源,但 vmstattop 里看不到明显瓶颈进程——这往往是因为缺少 vmware-tools(或现代等价的 open-vm-tools)。没有它,guest 内核无法通过 VMCIhypercall 与 ESXi 协同调度,vCPU 时间片分配完全依赖默认的 CFS 调度器 + 虚拟化层盲等,导致 steal 时间虚高且不可控。

常见现象包括:steal% 持续 >10%,但 %us/%sy 很低;ps aux --sort=-pcpu 找不到高 CPU 进程;cat /proc/sched_debug 显示大量任务在 rq->nr_uninterruptible 中滞留。

  • CentOS/RHEL 7+ 默认不预装 open-vm-tools,需手动安装
  • Ubuntu 18.04+ 虽预装,但若被 apt remove 清理过,systemctl is-active open-vm-tools 会返回 inactive
  • vmware-toolbox-cmd -vvmtoolsd --version 直接报 “command not found” 是最简判断依据

open-vm-tools 安装后必须启用的三个服务

只装包不启服务,steal 不会下降。关键不是 vmtoolsd 进程本身,而是它注册的内核模块和定时同步机制

  • systemctl enable --now open-vm-tools:启动主守护进程,提供时间同步、剪贴板、分辨率适配等功能
  • systemctl enable --now vmtoolsd(部分发行版别名):确保 /usr/bin/vmtoolsd 加载 vmmemctl 模块,参与内存 ballooning 和 vCPU 抢占通知
  • systemctl enable --now vmware-kmod(仅 RHEL/CentOS 7):加载 vmwgfxvmmemctl 等内核模块,否则即使进程在运行,/proc/vmware 下也无节点,hypervisor 无法回调

验证是否生效:lsmod | grep -E 'vmw|vmmem' 应有输出;cat /proc/vmware/version 不报错;vmware-toolbox-cmd stat balloon 返回实际 ballooning 值而非 “not supported”。

ESXi 层需关闭的两个默认干扰项

即使 guest 侧装好 open-vm-tools,若 ESXi 上启用了某些资源限制策略,steal 仍可能居高不下,因为这些策略绕过了 tools 的协同逻辑。

PageGen
PageGen

AI页面生成器,支持通过文本、图像、文件和URL一键生成网页。

下载
  • 禁用 CPU limit(MHz):在 VM 设置 → Resources → CPU → Limit 中设为 Unlimited。设了硬限制后,ESXi 会在 vCPU 就绪队列满时直接丢弃时间片,steal 计数飙升,且 guest 无法感知
  • 关闭 CPU Hot Add:VM 设置 → Options → General → Configuration Parameters → 编辑配置 → 添加 cpuhotadd.enable = "FALSE"。该功能开启时,vCPU 动态增减会触发内核重调度锁,造成短暂但高频的 steal 尖峰

注意:CPU SharesReservation 可保留,它们通过调度权重和预留保障参与协同,不干扰 open-vm-tools 的反馈回路。

steal 高但 tools 已运行时的排查路径

如果确认 open-vm-tools 正常运行、ESXi 设置也合规,steal 仍异常高,问题大概率不在工具链本身,而是资源争抢模式发生了变化。

  • 检查 esxtop 在 ESXi Shell 中的 PCPU USED%:若单个物理 CPU 核心持续 >95%,说明宿主机过载,guest 被强制节流,steal 是真实反映,此时应横向扩容或迁移 VM
  • 运行 vmware-toolbox-cmd stat cpu:输出中 ready 时间占比 >20% 表示 vCPU 就绪队列积压,需检查同主机其他 VM 的 CPU 使用模式
  • 对比 cat /sys/devices/system/clocksource/clocksource0/current_clocksource:若为 jiffies 而非 tscvmware_pit,说明时钟源未切换,会导致 CFS 调度周期计算失准,steal 统计偏高(需加内核参数 clocksource=vmware_pit 并重启)

真正难处理的是混合场景:宿主机 CPU 利用率中等(60–70%),但某几个 PCPU 核心打满,同时 guest 内 open-vm-tools 正常、clocksource 正确——这时 steal 高是调度器局部饱和的真实体现,没有一键修复,只能靠调整 VM 分布或升级 ESXi 版本改善调度公平性。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
sort排序函数用法
sort排序函数用法

sort排序函数的用法:1、对列表进行排序,默认情况下,sort函数按升序排序,因此最终输出的结果是按从小到大的顺序排列的;2、对元组进行排序,默认情况下,sort函数按元素的大小进行排序,因此最终输出的结果是按从小到大的顺序排列的;3、对字典进行排序,由于字典是无序的,因此排序后的结果仍然是原来的字典,使用一个lambda表达式作为key参数的值,用于指定排序的依据。

391

2023.09.04

常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

816

2023.10.27

ubunt上安装和配置vnc
ubunt上安装和配置vnc

安装方法:安装VNC服务器、启动VNC服务器、设置VNC密码等等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

414

2023.12.28

ubuntu启动黑屏解决方法
ubuntu启动黑屏解决方法

ubuntu启动黑屏解决方法:检查是否是电源问题、检查内存是否接触不良、检查显卡问题等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

659

2023.12.28

为什么ubuntu有网络连接但不能上网
为什么ubuntu有网络连接但不能上网

ubuntu有网络连接但不能上网的原因:1、dns配置问题;2、代理服务器设置问题;3、网络防火墙设置问题;4、路由器或调制解调器设置问题;5、网络驱动程序问题;6、网络配置文件问题;7、其他问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

460

2024.09.05

ubuntu安装golang
ubuntu安装golang

本专题整合了ubuntu安装golang所有方法汇总,阅读下面的文章了解更多详细操作。

106

2025.12.13

centos
centos

PHP中文网为大家提供centos相关信息,CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,是免费的、开源的、可以重新分发的开源操作系统,PHP中文网提供centos相关文章,以及安装教程。

433

2023.06.16

常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

816

2023.10.27

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

158

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 4.2万人学习

Pandas 教程
Pandas 教程

共15课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号