virsh查看虚拟机信息有哪些常用命令和参数?

virsh查看虚拟机信息的核心命令是virsh list配合不同参数查看虚拟机列表,virsh dominfo查看单台虚拟机配置,virsh domifaddr查看虚拟机IP地址,virsh dommemstat和virsh domblkstat查看资源使用情况。掌握这些命令的参数组合,就能在KVM虚拟化环境中快速定位问题、完成日常巡检。

virsh list搭建虚拟机列表的基本功

virsh list是所有信息查询的起点,它的参数设计直接决定你能看到多广的虚拟机范围。

KVM笔记12(virsh的应用)
加载中
KVM笔记12(virsh的应用)

状态过滤参数

不附加任何参数时,virsh list默认只显示当前正在运行的虚拟机,实际运维中这个默认行为不太够用,因为排查故障时需要看到所有虚拟机,包括已关闭的实例。

# 查看所有虚拟机(包含运行中和已关闭)
virsh list --all
# 只看已关闭的虚拟机
virsh list --inactive
# 查看运行中的虚拟机(默认行为)
virsh list --state-running
# 查看所有持久化虚拟机
virsh list --persistent

输出格式控制

--table、--name、--uuid这几个参数控制输出列的展示方式,在脚本处理时尤其有用。

# 只输出虚拟机名称,便于脚本循环处理
virsh list --all --name
# 只输出UUID
virsh list --all --uuid
# 输出表格形式(默认格式)
virsh list --all --table

值得注意的是,结合--name和管道符可以快速构建批量操作脚本,这是不少运维人员在日常工作中常用的组合方式,据Libvirt社区文档说明,virsh list支持最多同时指定两个过滤条件,但实际使用中单一条件已经能覆盖大多数场景。

常见简单示例

如果只想快速确认某台虚拟机的运行状态,直接执行virsh list --all,从STATE列就能看出running、shut off、paused等信息,这是最快的一个判断方式。

virsh查看虚拟机配置信息的常用命令及参数

从架构角度看,一台虚拟机对应一个XML描述文件,其中定义了内存、CPU、磁盘、网络等全部配置。virsh dominfo和virsh dumpxml就是读取这份配置的两把钥匙。

virsh dominfo单台虚拟机的核心配置

virsh dominfo <虚拟机名称或UUID>是查看单台虚拟机基本信息的首选命令,输出内容涵盖内存、CPU、状态、自动启动配置等关键字段。

virsh查看虚拟机信息有哪些常用命令和参数?

virsh dominfo ubuntu-server

输出示例:

Id:             3
Name:           ubuntu-server
UUID:           a2b3c4d5-xxxx-xxxx-xxxx-xxxxxxxxxxxx
OS Type:        hvm
State:          running
CPU(s):         4
CPU time:       125.6s
Max memory:     4194304 KiB
Used memory:    4194304 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: none
Security DOI:   0

其中CPU time显示累计消耗的CPU时间,Max memory和Used memory的单位是KiB(即1024字节),并非常见的MB或GB,不少刚接触虚拟化的用户在这里容易产生误解,实际上4194304 KiB换算后就是4 GB。

virsh dumpxml深入查看XML配置

当需要查看虚拟机绑定的磁盘路径、网卡MAC地址、VNC端口等更底层的配置细节时,virsh dumpxml <虚拟机名称>会更全面。dominfo只展示摘要信息,而dumpxml输出完整定义。

# 查看完整XML配置
virsh dumpxml ubuntu-server
# 通过grep快速过滤关键信息(查看磁盘路径)
virsh dumpxml ubuntu-server | grep "source file"
# 查看VNC端口配置
virsh dumpxml ubuntu-server | grep vnc

virsh查看虚拟机IP地址用哪个命令

这是日常运维中出现频率较高的一个疑问,获取虚拟机IP地址有两条路径,取决于虚拟化环境是否安装了QEMU Guest Agent。

# 推荐方式:通过Guest Agent获取(虚拟机需安装qemu-guest-agent)
virsh domifaddr ubuntu-server --source agent
# 备选方式:从租约文件读取(基于NAT网络)
virsh net-dhcp-leases default

domifaddr --source agent的优势在于不依赖ARP表,即使虚拟机与外网隔离也能获取到地址,如果虚拟机没有安装Guest Agent,则--source agent会报错,此时可以尝试virsh net-dhcp-leases查看DHCP租约记录,前提是虚拟机使用NAT网络模式。

virsh查看虚拟机运行状态的资源类命令

排查性能问题时,CPU、内存、磁盘IO、网络流量这些动态数据是关键,这一类命令的输出通常都是实时采样值。

virsh命令查看CPU信息:vcpuinfo与vcpupin

virsh vcpuinfo <虚拟机名称>输出每个vCPU对应的物理CPU编号、运行时间、CPU亲和性等信息。

virsh vcpuinfo ubuntu-server

输出会按vCPU编号逐一展示,其中比较关键的字段是CPU Affinity,它显示的是当前vCPU可以运行在宿主机哪些物理核心上,多人在同一台物理机上部署虚拟机时,合理设置CPU亲和性可以有效避免资源争抢。

virsh查看虚拟机信息有哪些常用命令和参数?

virsh vcpupin可以查询特定vCPU与物理CPU的绑定关系,如果性能调优效果不理想,不妨先用这个命令确认绑定配置是否生效。

内存与磁盘性能监控:dommemstat与domblkstat

virsh dommemstat <虚拟机名称>查看虚拟机内存使用情况,输出包括actual(实际分配内存)、rss(宿主机视角的驻留内存)、available和unused,可以对比看出虚拟机内部实际内存占用率。

virsh dommemstat ubuntu-server

输出示例:

actual 4194304
swap_in 0
swap_out 0
major_fault 0
minor_fault 1638
unused 1048576
available 3932160
rss 3589120

其中rss是宿主机实际分配给该虚拟机的物理内存,如果rss长期远小于actual,说明虚拟机内存配置可能有富余,这个场景在评估“虚拟机内存是否够用”时比较实用。

virsh domblkstat <虚拟机名称>类似地查看磁盘块设备统计信息,包括读写次数和字节数。

# 查看虚拟机所有磁盘设备统计
virsh domblkstat ubuntu-server
# 指定设备(通过domblklist先查设备名)
virsh domblkstat ubuntu-server vda

配合--human参数可以将字节数自动转换为KB、MB等单位,可读性更好:

virsh domblkstat ubuntu-server --human

domstats全局性能概览

virsh domstats能一次性输出所有虚拟机的状态汇总,适合巡检脚本调用,相比逐台执行dommemstat和domblkstat,效率要高得多。

# 查看所有虚拟机的基本状态和CPU/内存统计
virsh domstats --all
# 只看某个虚拟机的所有统计项
virsh domstats ubuntu-server

较丰富,包含cpu.time、vcpu.current、balloon.current、block.count、net.count等,对性能数据有较多需求的场景,domstats的输出比单独逐个查询更全面。

实际运维中常见的查询组合方式

命令单独使用只能解决单一问题,真实故障排查时通常需要组合操作。

发现虚拟机IP与MAC地址的对应关系

先通过virsh list确认虚拟机在运行,再执行virsh domifaddr <名称>

virsh查看虚拟机信息有哪些常用命令和参数?

拿到IP地址,最后用virsh dumpxml <名称> | grep "mac address"获取MAC地址,这样就能建立起完整的IP-MAC对应关系,这是排查NAT网络内部IP冲突的标准流程。

快速定位磁盘占用异常的虚拟机

依次执行virsh list --all查看名称,再循环运行virsh domblkstat <名称> --human,从输出中对比wr_bytes和rd_bytes的数值增长趋势,可以快速找出连续写入量偏大的虚拟机,实际生产环境中,不少磁盘告警问题都是通过这种方式发现的。

批量执行查询命令的小脚本

面对大量虚拟机时,用for循环配合virsh list --name可以快速产出巡检报告。

for vm in $(virsh list --name --all); do
    echo "=== $vm ==="
    virsh dominfo $vm | grep -E "State|CPU(s)|Max memory"
done

这类脚本能显著提高批量巡检的效率和便利性。

常见问题解答

virsh查看虚拟机IP地址的命令是什么?

优先使用virsh domifaddr <虚拟机名称> --source agent,前提是虚拟机内已安装并启用qemu-guest-agent服务,未安装Agent时,可以改用virsh net-dhcp-leases default查看NAT网络内的DHCP租约记录,两种方式都无法获取时,只能登录虚拟机内部通过ip addr查看。

virsh list和virsh dominfo的使用区别是什么?

virsh list面向所有虚拟机,输出的是名称、状态等汇总信息,适合了解整体环境情况;virsh dominfo面向单台虚拟机,输出该虚拟机的内存、CPU、UUID等详细配置,适合深入排查单一实例问题时使用,两者的定位关系类似于“目录”和“详情页”。

virsh查看磁盘空间用哪个命令?

virsh domblkstat <虚拟机名称>查看的是宿主机视角的磁盘读写统计数据,并非虚拟机内部可用空间,若要了解虚拟机内操作系统看到的磁盘剩余量,需要登录虚拟机操作系统内部用df -h查看,或通过virsh domfsinfo <虚拟机名称>获取文件系统信息,该命令的输出依赖Guest Agent的支撑。

掌握virsh list、virsh dominfo、virsh dumpxml、virsh domifaddr、virsh dommemstat和virsh domblkstat这组命令,再辅以--all、--human、--source agent这些关键参数,就能覆盖大多数KVM虚拟机信息查询场景。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/628306.html

赞 (0)
域名解析失败怎么解决,DNS设置错误排查方法?
上一篇 2026年9月6日 15:06
企业域名邮箱共享怎么设置?,共享邮箱权限怎么管理
下一篇 2026年9月6日 15:08

相关推荐

  • 服务器地址大全包含哪些最新地址?,怎么用

    主流云服务器厂商地址与深度测评(2026年优惠活动汇总)选择云服务器时,官方地址的准确性和服务商的实际表现同样关键,以下整理各大云服务器平台官网地址,并从性能、稳定性、售后、性价比四个维度进行测评,同时附上2026年有效优惠活动,方便直接对比选购,阿里云(Aliyun)官网地址:https://www.aliy……

    2026年7月20日
    900
  • 飞机票开发票吗?飞机行程单怎么报销

    飞机票开发票吗?这是许多企业差旅人员和个人旅客在行程结束后最为关心的问题,核心结论非常明确:飞机票完全可以开发票,但必须区分“行程单”与“报销凭证”的概念,且获取方式、时间限制及类型选择因购票渠道而异, 传统的纸质机票(电子客票行程单)是我国航空运输领域公认的合法报销凭证,具备发票属性,而现代在线预订平台生成的……

    2026年4月11日
    9600
  • ios开发录音怎么做?ios录音功能实现方法

    iOS开发录音:高效、合规、低功耗的实践指南在iOS平台实现录音功能,核心目标是稳定采集音频、保障隐私合规、优化资源消耗,本文基于Apple最新技术规范(截至iOS 17),结合工程实践经验,提供一套可落地的录音开发方案,兼顾性能与用户体验,录音前:权限与设备准备(关键前置步骤)动态申请录音权限在Info.pl……

    2026年4月15日
    6300
  • 服务器划分虚拟主机和区块划分怎么做,有什么好处?

    服务器虚拟主机的性能瓶颈往往不在硬件本身,而在于区块划分的策略是否合理,直接影响网站的响应速度和稳定性,服务器划分虚拟主机时区块怎么分配最合理?区块划分的核心是将物理服务器的CPU、内存和存储空间切割成独立单元,分配给不同虚拟主机用户,合理的分配策略能避免“邻居效应”,让每个站点获得稳定资源,CPU和内存区块的……

    2026年8月17日
    600
  • 云主机产品调整如何影响业务?云服务器迁移注意事项

    关于云主机产品调整通知尊敬的开发者与企业用户:感谢您长期以来对本站云主机产品的支持与信任,为了提供更稳定、高效且具备更高性价比的云计算服务,我们决定对现有的云主机产品线进行全面升级与调整,本次调整旨在优化底层硬件架构,提升网络吞吐量,并重新定义价格体系,以更好地满足从个人开发者到大型企业不同规模的业务需求, 核……

    2026年6月10日
    3900
  • it java 软件开发培训哪家好?java软件开发培训费用大概多少

    参加专业的IT Java软件开发培训,是零基础学员在6个月内高效打通技术壁垒、实现高薪就业的最优路径,相比于漫长的自学,系统化的培训通过项目驱动教学,能够精准对接企业用人标准,大幅缩短从理论到实践的磨合期,确保学员具备独立开发商业项目的能力,核心优势:为何选择系统化培训Java作为企业级应用的首选语言,生态庞大……

    2026年3月30日
    9600
  • mysql误删数据能恢复吗?数据库误删数据恢复方法

    关于mysql数据库误删除后的数据恢复操作说明在服务器运维与网站管理的实际场景中,MySQL数据库作为核心数据存储组件,其安全性与稳定性直接决定了业务的连续性,尽管现代云服务商提供了快照、备份等多重防护机制,但人为误操作(如执行DROP TABLE、DELETE未加WHERE条件或误删数据库实例)仍时有发生,一……

    2026年6月13日
    3500
  • 微信开发前景怎么样?现在做微信开发还有前途吗

    微信开发目前正处于从“流量红利”向“价值红利”转型的关键时期,其前景依然广阔,但竞争门槛显著提高,未来的微信开发不再是简单的公众号搭建或小程序基础功能实现,而是转向深度定制化、私域流量精细化运营以及企业数字化生态的全面闭环构建,对于开发者和企业而言,抓住视频号直播、企业微信互通以及AI赋能这三大核心增长点,是决……

    2026年4月3日
    9000
  • FTP服务器虚拟主机名怎么设置,虚拟主机FTP账号怎么登录?

    ftp服务器虚拟主机名:高性能虚拟主机深度测评与配置指南在现代企业级网站管理与大规模数据传输场景中,ftp服务器虚拟主机名的配置效率与稳定性直接影响到开发部署的周期,一个优秀的虚拟主机环境不仅需要提供稳定的存储空间,更需在DNS解析速度、并发连接数以及数据传输安全性方面达到工业级标准,本文将针对当前主流的高性能……

    2026年7月13日
    600
  • 开发银行助学贷款信息网是什么?助学贷款申请流程详解

    国家开发银行助学贷款是保障家庭经济困难学生公平接受高等教育的重要基石,而熟练掌握开发银行助学贷款信息网的使用方法与政策细节,是确保贷款申请顺利、还款无忧的核心关键,学生及家长应首先明确:助学贷款并非简单的资金借贷,而是一套包含信用建立、财政贴息、还款宽限期及征信管理的完整金融解决方案,准确获取信息、按时履行合约……

    2026年3月28日
    11500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注