- 首页 >
- 问答 >
-
云计算 >
- VirtualBox虚拟机在CentOS上如何进行性能监控
VirtualBox虚拟机在CentOS上如何进行性能监控
小樊
37
2025-11-23 17:07:03
监控思路与分层
- 宿主机层:用 VBoxManage 查看虚拟机配置与运行时指标(CPU 执行上限、内存、存储、日志路径等),快速定位资源上限与配置是否合理。
- 来宾系统层(CentOS 内):用 top/htop、vmstat、iostat、nmon、sar、free、df、dmesg 等工具持续采集 CPU、内存、磁盘 I/O、网络、内核与硬件事件。
- 可视化与告警层:小规模用 nmon + 导出图表 做趋势分析;中大型环境建议接入 Zabbix/Prometheus 做长期存储、图表与阈值告警。
宿主机侧监控 VirtualBox 资源
- 查看虚拟机基本信息与资源配置
- 命令:
VBoxManage showvminfo "<VM 名称>"
- 关注字段:Memory size、Number of CPUs、CPU exec cap、VRAM size、Page Fusion、Log folder 等,用于核对是否按预期分配了 CPU/内存,以及是否存在 CPU 执行上限(CPU exec cap) 限制。
- 快速检查运行状态与日志定位
- 命令:
VBoxManage list runningvms(查看在跑的 VM)、VBoxManage metrics collect "<VM 名称>" --period 1 --samples 60(采集 60 秒、间隔 1 秒的指标,需宿主机启用并允许指标采集),日志路径可在 showvminfo 的 Log folder 找到,便于排查异常。
来宾系统 CentOS 内部监控
- 实时与交互
top/htop:进程级 CPU%、MEM%,观察是否有异常进程与线程争用。
vmstat 1 60:系统概况(运行队列、上下文切换、swap、CPU 空闲),判断是否 CPU 瓶颈 或 内存紧张导致换页。
iostat -x 1 60:磁盘 await、r/s、w/s、util%,定位 I/O 瓶颈 与设备饱和。
nmon:交互式采集 CPU/内存/磁盘/网络,支持导出数据做趋势图。
- 历史与内核
sar -A -f /var/log/sa/saXX:回看 CPU、内存、I/O、网络 的历史趋势(XX 为日期)。
free -m、df -h:分别查看 内存使用 与 磁盘空间。
dmesg | tail -n 200:内核与驱动日志,排查 I/O 超时、驱动异常 等。
- 网络
sar -n DEV 1 60 或 ip -s link:查看 网卡收发包、错包、丢包,配合 VirtualBox 的网络模式(NAT/桥接/仅主机)判断是否存在 网络瓶颈或配置不当。
进阶 CPU 性能计数器与深度分析
- 启用虚拟化 CPU 性能计数器(需要硬件与权限支持)
- 在宿主机 BIOS/UEFI 打开 VT-x/AMD-V,虚拟机设置中启用 VT-x/AMD-V 与 PAE/NX。
- 在来宾系统内加载 msr 模块并写入 MSR(示例:
sudo modprobe msr;sudo wrmsr -a 0x38d 0x06),以开启 CPU 性能计数器,便于使用 性能分析器(如 VTune Profiler) 做更细粒度的热点与硬件事件分析。
- 注意:操作 MSR 需要 root 权限,且不同 CPU 的 MSR 定义可能不同,务必在测试环境验证,避免影响业务稳定性。
可视化与告警落地
- 轻量方案:在 CentOS 内用 nmon 定期采集并导出数据,再用 Excel/Grafana 做趋势面板,适合单机与小规模环境。
- 企业方案:部署 Zabbix 或 Prometheus,在来宾安装 Zabbix Agent 或 Node Exporter,对 CPU、内存、磁盘 I/O、网络、TCP 连接、服务端口 等设定阈值告警,实现 集中监控、历史存储与可视化。