Linux虚拟机性能监控工具与用法
一 主机侧工具 用于观测宿主机与虚拟化开销
top 或 sudo perf top。sudo perf kvm stat live(实时)、sudo perf kvm stat record 后 perf kvm stat report 查看报告;若PAUSE_INSTRUCTION频繁,通常表示vCPU未被良好调度,可考虑减少vCPU数量或关闭部分虚拟机;INSN_EMULATION偏高则提示I/O配置可优化。numastat -c qemu-kvm。二 客户机内工具 用于观测虚拟机内部应用与系统瓶颈
vmstat 1 10、iostat -x 1 5、free -m、nmon。sar -u 1 10(CPU)、sar -d 1 10(磁盘)。glances、dstat -ta 6。三 虚拟化平台与第三方监控系统 用于集中监控与告警
四 进阶与自动化 用于定位更深层次问题
sudo perf top、sudo perf record -a -g 后 perf report。qemu-system-x86_64 -d exec,nochain -D /path/to/logfile.log,再用 grep EXEC /path/to/logfile.log | wc -l 统计执行相关条目。top -bn1、free -m 等指标,超过阈值即发送通知。五 快速排障命令清单
| 目标 | 主机侧命令 | 客户机内命令 |
|---|---|---|
| CPU/内存总览 | top(关注 qemu/kvm、virt 进程) | top/htop |
| 虚拟化事件与调度 | sudo perf kvm stat live / record / report | — |
| 磁盘 I/O | — | iostat -x 1 5 |
| 内存使用 | — | free -m |
| 历史趋势 | — | sar -u/-d 1 10(需 sysstat) |
| 综合面板 | — | nmon / glances |
| 网络/队列优化线索 | 观察 vhost_net 线程占用 | — |
以上命令覆盖“宿主机→虚拟化层→客户机应用”的典型路径,便于快速定位瓶颈并验证优化效果。