首页/云/云平台与虚拟化速查/domstats 查看域统计
虚拟化操作94 条

domstats 查看域统计

domstats 聚合 CPU、内存、磁盘、网络、气球等统计,是快速体检入口;配合 cpu-stats、domblkinfo 可交叉验证各项指标。

云平台与虚拟化速查云更新于 2026-10-13

domstats 查看域统计

domstats 一次调用聚合域的 CPU、内存、磁盘、网络与气球等多组统计,是做快速体检的入口。它可以按分组只看关心的部分,也可以遍历全部域做批量采集。与 cpu-stats、domblkinfo 这类更细的命令配合使用,能交叉验证数据,避免被某一个口径误导。

基本信息

总量查看virsh domstats vm1 输出全部可用统计组
按组过滤--cpu-total、--balloon、--block、--interface、--vcpu
批量查看virsh domstats --list-domains 或 --all 遍历多个域
补充命令virsh cpu-stats vm1、virsh domblkinfo vm1 vda 查看更细的单项
采样口径做对比时固定参数与时间窗口,否则数据不可比

典型使用场景

  • 快速体检:一台虚机是否在消耗 CPU、内存是否被回收
  • 容量观察:查看各域内存分配与气球状态
  • 网络与磁盘排查:确认网卡与块设备的累计读写量
  • 批量巡检:遍历全部域采集运行状态并导出留档
  • 变更前后对比:固定采样口径,观察参数调整的效果

常用组合

常用组合
virsh domstats vm1 --state --cpu-total   # 状态与 CPU 累计时间
virsh domstats vm1 --block               # 块设备读写统计
virsh domstats vm1 --interface           # 网卡收发统计
virsh cpu-stats vm1 --total              # 单域 CPU 汇总
virsh domstats --list-domains --state    # 批量看域状态

常用分组读法

分组内容用途
state域运行状态快速确认是否在运行
cpu-total累计 CPU 时间观察 CPU 消耗趋势
balloon内存分配与可用量判断内存回收是否在起作用
block块设备读写量与请求数定位磁盘压力来源
interface网卡收发字节与包数核对网络流量规模
做性能对比时固定采样口径(同一组参数、同一时间窗口),否则数据不可比,很容易得出相反的结论。
统计值多为累计量:判断趋势要两次采样做差,单次读到的绝对值本身说明不了问题。
把固定分组按固定周期采集并留档,才能看出内存回收是否真的在起作用、磁盘压力是否在缓慢上升;临时抓一次往往只看到噪声,也说不清与上次相比发生了什么变化。
口径要与业务对应:单看某台虚机的数字不好下判断,把宿主整体压力与 guest 侧指标放在一起看,结论才站得住。

易错点

  • 只看瞬时值:应连续采样观察趋势,避免误判
  • 把累计计数当速率读,误以为业务流量突然飙升
  • 跨分组反复调用且不加过滤,输出冗长到看不出重点
  • 只信 domstats 不交叉验证,指标口径差异导致结论偏差

数据来源与参考

  • libvirt 文档:Domain stats
  • virsh 手册:domstats
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌