Linux虚拟机性能监控如何进行
导读:Linux 虚拟机性能监控实操指南 一 监控分层与总体思路 建议从三层同时观测: 宿主机层(KVM/QEMU、CPU/内存/存储/网络资源与调度); 虚拟化层(vCPU 调度、VM-EXIT、vhost-net、NUMA 亲和); 客户...
Linux 虚拟机性能监控实操指南
一 监控分层与总体思路
- 建议从三层同时观测:
- 宿主机层(KVM/QEMU、CPU/内存/存储/网络资源与调度);
- 虚拟化层(vCPU 调度、VM-EXIT、vhost-net、NUMA 亲和);
- 客户机层(进程/线程、CPU/内存/IO/网络瓶颈)。
- 快速定位思路:先看宿主机上 qemu/kvm 与 vhost_net 进程是否异常吃资源;再用虚拟化专用工具查看 VM-EXIT 等事件是否频繁;最后进客户机定位具体进程与资源热点。
二 宿主机侧监控与诊断
- 资源总览与热点进程
- 用 top/system monitor 观察是否有 qemu 或 virt 相关进程占用过高的 CPU/内存;若发现 vhost_net- 占用高,优先考虑启用 virtio-net 多队列 等网络优化。
- 虚拟化专用剖析
- 安装 perf:
dnf install perf - 实时查看:
perf kvm stat live - 记录并分析:
perf kvm stat record→ 生成 perf.data.guest →perf kvm stat report - 关键事件解读:
- PAUSE_INSTRUCTION 频繁:表示 vCPU 未被良好调度,考虑减少并发 vCPU、迁移负载或优化 vCPU 绑定与调度策略。
- HLT 时间占比高:常见于 vCPU 空闲,通常不必紧张。
- INSN_EMULATION 偏多:提示 I/O 配置 可能次优(如未充分使用 virtio 驱动/半虚拟化)。
- 安装 perf:
- NUMA 亲和与内存分布
- 安装 numactl:
dnf install numactl - 查看 qemu-kvm 进程在各 NUMA 节点的内存分布:
numastat -c qemu-kvm - 若单机多 VM 且内存跨节点分散,可能不利于 vCPU 本地性,建议按 NUMA 节点 规划 VM 与 vCPU 绑定。
- 安装 numactl:
三 客户机侧监控与瓶颈定位
- 常用实时与历史工具
- 实时与交互:top/htop(进程级 CPU/内存)、vmstat(虚拟内存与整体资源)、iostat(磁盘 IO)、dstat(CPU/内存/磁盘/网络综合)、nmon(综合面板)、glances(跨平台监控)。
- 历史与报表:sar(配合 sysstat 收集与回放,如
sar -u 1 10、sar -d < interval>)。
- CPU 与多核负载
- 使用 mpstat -P ALL 查看每个 vCPU 的使用率与系统/用户态占比,识别单核打满、负载不均等问题。
- 云平台补充
- 若运行在公有云,结合云厂商控制台监控(CPU、内存、磁盘、网络)与告警,便于与宿主机侧数据交叉验证。
四 常见症状与优化建议
- vCPU 被频繁抢占或调度不佳
- 现象:PAUSE_INSTRUCTION 在
perf kvm stat report中占比高。 - 处置:减少同时运行的 VM 数量或 减少 vCPU、优化 CPU 绑定/亲和、检查宿主机负载与调度策略。
- 现象:PAUSE_INSTRUCTION 在
- 网络吞吐或 CPU 占用异常
- 现象:vhost_net 线程 CPU 占用高。
- 处置:启用 virtio-net multi-queue,提升多核网络并行度。
- 内存访问跨 NUMA 影响性能
- 现象:
numastat -c qemu-kvm显示 VM 内存跨多节点分散。 - 处置:按 NUMA 节点 规划 VM 放置与 vCPU 绑定,尽量实现本地内存访问。
- 现象:
- I/O 路径次优
- 现象:INSN_EMULATION 事件较多。
- 处置:优先使用 virtio 半虚拟化驱动(磁盘/网络),检查并优化客户机与宿主机 I/O 配置。
五 进阶 基准测试与容量评估
- 在定位到瓶颈后,可用基准工具复核与对比优化效果:
- CPU:UnixBench(综合 CPU 基准)。
- 内存:STREAM(内存带宽/时延)。
- 存储:IOzone(顺序/随机读写等)。
- 网络:netperf(TCP/UDP 吞吐与延迟)。
- 建议在同一套配置下做 A/B 对比(如开启/关闭多队列、调整 vCPU/NUMA 绑定前后),以量化优化收益。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux虚拟机性能监控如何进行
本文地址: https://pptw.com/jishu/763823.html
