首页/云/云平台与虚拟化速查/virsh nodeinfo 与宿主资源速查
虚拟化操作94 条

virsh nodeinfo 与宿主资源速查

nodeinfo 汇总宿主 CPU 型号、核数、主频、NUMA 单元与内存总量,是规划虚机规格的前置信息;nodecpumap 显示在线与可用核位图。

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

是什么

virsh nodeinfo 读取的是宿主(宿主机/物理节点)自己的资源画像:CPU 型号与主频、插槽数、每插槽核心数、每核心线程数、NUMA 单元数与内存总量。规划虚机规格、判断能开多少台虚机、排查虚机性能不达标时,先看这台命令的输出比凭感觉估算靠谱。它只反映宿主视角,看不到虚机内部的资源使用情况。

基本信息

总览virsh nodeinfo,输出 CPU 与内存的宿主级画像
CPU 位图virsh nodecpumap,给出现在可用于分配的 CPU 集合
NUMA 明细virsh numatune 与 numactl --hardware 查看节点与距离
内存明细virsh nodememstats,按 NUMA 节点列出内存总量与可用量
使用前提在宿主机上以具备 libvirt 读权限的账号执行

典型使用场景

  • 新建虚拟化节点后做验收:核对实际识别到的 CPU 型号、核心数与内存容量是否与采购一致
  • 规划虚机规格:按 NUMA 单元与核心数推算单台虚机可用的 vCPU 上限
  • 排查性能不达标:先确认宿主规格与线程配置,再判断问题出在虚机内部还是资源争抢
  • 容量盘点:批量采集各节点画像,汇总集群可分配资源与剩余空间
  • 设备更换或内存扩容后复核:对比改动前后的输出,确认新增资源已被识别

采集宿主信息

采集宿主信息
virsh nodeinfo                     # CPU 型号、插槽、核心、线程、NUMA 与内存
virsh nodecpumap                   # 可用于分配的 CPU 位图
virsh nodememstats | head -20      # 分 NUMA 节点的内存统计
numactl --hardware                 # 节点数量、各节点内存与跨节点距离
lscpu | head -20                   # 与 nodeinfo 交叉核对,排除虚拟化层差异

输出逐列读法

字段含义判读要点
CPU model处理器型号与主频与采购清单核对,型号不符说明主机被换过
CPU frequency当前主频(MHz)明显低于标称值要查功耗策略与降频
CPU socket(s)物理插槽数决定 NUMA 单元的基本数量
Core(s) per socket每插槽核心数乘插槽数得到物理核心总数
Thread(s) per core每核心线程数为 2 表示开启了超线程
NUMA cell(s)NUMA 单元数单元内的核心与内存才是低延迟资源池
Memory size宿主内存总量单位 MiB,注意与虚拟机内存预留的差额
规划虚机时用 core 数与 NUMA 单元数一起算:单台虚机的 vCPU 尽量落在一个 NUMA 单元内,跨单元分配会带来内存访问延迟,大内存虚机尤其明显。
nodeinfo 显示的是宿主总量,不等于还能开多少台虚机:要扣掉虚机预留内存、宿主自身开销与超分策略允许的额度,否则会在分配时报内存不足。

易错点

  • 忽略 NUMA 单元数,按总核数直接分配,导致虚机跨节点访问内存
  • 把 nodeinfo 的内存总量当成可分配量,实际开虚机时因预留不足失败
  • 用 nodeinfo 判断虚机性能瓶颈,方向就错了:虚机内部指标要进 guest 看
  • 在错误的宿主机上执行命令(多台同型号主机混用),采集到的画像张冠李戴

数据来源与参考

  • virsh 手册:nodeinfo / nodecpumap / nodememstats
  • libvirt 文档:宿主信息
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌