0

0

CPU steal 时间(st)持续偏高但宿主机负载正常的虚拟化层排查

冷炫風刃

冷炫風刃

发布时间:2026-01-18 20:07:41

|

600人浏览过

|

来源于php中文网

原创

CPU steal时间偏高而宿主机负载正常,表明问题在虚拟化层调度或配置:需检查cgroups CPU限频、vCPU与NUMA节点绑定错配、嵌套虚拟化及内核调度参数等。

cpu steal 时间(st)持续偏高但宿主机负载正常的虚拟化层排查

CPU steal 时间(st)持续偏高,而宿主机整体 CPU 负载正常,说明虚拟机在等待 CPU 调度的时间变长,但物理 CPU 并未饱和——问题大概率出在虚拟化层的资源调度或配置上,而非宿主机过载。

检查虚拟机 CPU 配额与限制设置

过度限制 vCPU 的 CPU 时间配额(如 cpu.cfs_quota_us / cpu.cfs_period_us),会导致虚拟机频繁被 throttled,表现为 st 升高。KVM/QEMU 中常见于使用 cgroups v1 限频、或 libvirt 的 + 组合配置不当。

  • 在宿主机上运行 cat /sys/fs/cgroup/cpu/libvirt/qemu//cpu.stat,查看 nr_throttledthrottled_time 是否非零且持续增长
  • 检查 libvirt XML:virsh dumpxml | grep -A5 "",确认是否设置了
  • 临时移除 CPU 限频测试:virsh schedinfo 查看当前值,用 virsh schedinfo --set cpu_quota=-1 取消限制后观察 st 是否回落

排查 vCPU 绑定与 NUMA 拓扑错配

vCPU 被绑定到远离内存节点的物理 CPU 核心(例如跨 NUMA node 调度),会加剧调度延迟和 steal 时间,尤其在内存密集型负载下。

Autoppt
Autoppt

Autoppt:打造高效与精美PPT的AI工具

下载
  • virsh vcpuinfo 查看 vCPU 当前运行的 pCPU ID
  • 对比 numactl --hardware 输出,确认该 pCPU 所属 NUMA node 与虚拟机内存分配的 node 是否一致(virsh dumpxml | grep -A5 ""
  • 若不匹配,修改 XML 中 设置,显式指定 并启用 对齐,或改用 自动对齐

确认宿主机调度器与 KVM 参数合理性

某些内核调度策略或 KVM 启用方式会放大 steal 时间统计偏差,尤其在高密度虚拟化场景中。

  • 检查是否启用了 kvm-intel.nested=1kvm-amd.nested=1:嵌套虚拟化会增加调度开销,非必要时建议关闭
  • 确认宿主机内核未启用 NO_HZ_FULL(全动态滴答)模式:该模式在 vCPU 空闲时可能干扰 steal 时间计算,可通过 cat /boot/config-$(uname -r) | grep CONFIG_NO_HZ_FULL 验证
  • 检查 QEMU 进程是否以 -cpu ...,kvmclock=on 启动(libvirt 默认开启),确保 guest 内核能正确感知 steal 时间;若 guest 使用老内核(kvmclock 模块

排除 hypervisor 层争用与中断瓶颈

即使宿主机平均负载低,局部资源争用(如单个物理 CPU 核心过载、硬中断集中、或 KVM ioctl 频繁调用)也会导致特定 vCPU 被长期“steal”。

  • pidstat -t -p $(pgrep -f "qemu.*") 1 观察 QEMU 主线程(TID)及 vCPU 线程(通常含 “CPU…” 字样)的 %usr/%sys 分布,若某 vCPU 线程 %sys 异常高,可能卡在内核态(如锁竞争或中断处理)
  • 运行 perf top -p $(pgrep -f "qemu.*"),关注 kvm_vcpu_ioctl__hrtimer_run_queuesnative_queued_spin_lock_slowpath 等热点函数
  • 检查硬中断分布:cat /proc/interrupts | grep -E "(eth|nvme|ioat)",确认网卡/存储中断是否集中在某几个 CPU 上,可配合 irqbalance 或手动绑核缓解

相关专题

更多
pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1881

2024.04.01

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2087

2024.08.01

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

1012

2024.11.28

虚拟化软件介绍
虚拟化软件介绍

虚拟化软件有VMware、VirtualBox、Hyper-V、Parallels Desktop、Oracle VirtualBox等。想了解更多虚拟化的相关内容,可以阅读本专题下面的文章。

368

2023.12.20

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

68

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

127

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

54

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

19

2026.01.15

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
HTML5/CSS3/JavaScript/ES6入门课程
HTML5/CSS3/JavaScript/ES6入门课程

共102课时 | 6.7万人学习

前端基础到实战(HTML5+CSS3+ES6+NPM)
前端基础到实战(HTML5+CSS3+ES6+NPM)

共162课时 | 18.9万人学习

第二十二期_前端开发
第二十二期_前端开发

共119课时 | 12.4万人学习

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

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