virsh list
命令;Linux 系统中,查看虚拟机和物理机相关信息有多种方法和工具,以下是详细的步骤和命令介绍:
查看物理机信息
硬件信息
- CPU 信息
lscpu
:显示 CPU 架构、核心数、线程数等详细信息,在终端输入lscpu
,会输出类似以下内容:
| 属性 | 值 |
| —| —|
| CPU 型号 | Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz |
| CPU 核心数 | 6 |
| 线程数 | 12 |cat /proc/cpuinfo
:提供更详细的 CPU 信息,包括每个核心的详细信息、制造商、频率等。
- 内存信息
free -h
:以人类可读的方式显示内存使用情况,包括总内存、已用内存、空闲内存和交换分区信息。
| 指标 | 数值 |
| —| —|
| 总内存 | 16G |
| 已用内存 | 8G |
| 空闲内存 | 8G |cat /proc/meminfo
:包含内存的详细统计信息,如 MemTotal(总内存)、MemFree(空闲内存)、SwapTotal(交换分区总量)等。
- 磁盘信息
lsblk
:列出所有块设备及其挂载点、大小等信息,会显示硬盘、分区以及它们的文件系统类型和挂载路径。
| 设备 | 大小 | 挂载点 |
| —| —| —|
| sda | 500G | / |
| sda1 | 100G | /boot |fdisk -l
:显示磁盘分区表信息,包括每个分区的起始位置、结束位置、大小和类型。df -h
:显示文件系统的磁盘空间使用情况,包括每个挂载点的总空间、已用空间和可用空间。
- 网络信息
ip addr
:显示网络接口的 IP 地址、子网掩码、广播地址等信息,会显示 eth0、wlan0 等接口的详细网络配置。
| 接口 | IP 地址 | 子网掩码 |
| —| —| —|
| eth0 | 192.168.1.100 | 255.255.255.0 |ifconfig
:功能与ip addr
类似,但格式略有不同,也能显示网络接口的详细信息,包括 MAC 地址等。route -n
:显示内核路由表,展示网络数据包的转发路径。
操作系统信息
uname -a
:显示操作系统的详细信息,包括内核版本、主机名、架构等,Linux hostname 5.4.0-42-generic x86_64 GNU/Linuxcat /etc/os-release
:提供操作系统的版本、名称、ID 等详细信息,方便确定具体的发行版。
查看虚拟机信息(以常见虚拟化平台为例)
KVM 虚拟机
- 查看虚拟机列表
virsh list --all
:列出所有 KVM 虚拟机,包括运行中和停止的,显示虚拟机的名称、状态、IP 地址等信息。
| 虚拟机名称 | 状态 | IP 地址 |
| —| —| —|
| vm1 | running | 192.168.122.10 |
| vm2 | shut off | |
- 查看特定虚拟机详细信息
virsh dominfo vm1
:显示指定虚拟机的详细信息,如 CPU 分配、内存分配、磁盘配置、网络接口等。
VMware 虚拟机(在 Linux 宿主机上)
- 查看虚拟机列表
- 如果安装了 VMware Tools,可以使用
vmware-view
命令打开 VMware 客户端界面,在界面中查看虚拟机列表及其状态。
- 如果安装了 VMware Tools,可以使用
- 查看特定虚拟机详细信息
通过 VMware 客户端界面,选中特定虚拟机,可以查看其硬件配置、操作系统信息、网络设置等详细内容。
VirtualBox 虚拟机(在 Linux 宿主机上)
- 查看虚拟机列表
VBoxManage list vms
:列出所有 VirtualBox 虚拟机,显示虚拟机的名称、ID、状态等信息。
| 虚拟机名称 | ID | 状态 |
| —| —| —|
| ubuntu_vm | 12345 | poweroff |
- 查看特定虚拟机详细信息
VBoxManage showvminfo ubuntu_vm
:显示指定虚拟机的详细信息,包括硬件配置、存储设置、网络配置等。
区分虚拟机和物理机
- 查看硬件特征
- 一些虚拟机可能会有特定的硬件标识,如虚拟化的网络接口名称可能包含
venet
、vnet
等字样,磁盘设备可能是vda
、vdb
等(相对物理机的sda
、sdb
)。 - 使用
dmesg
命令查看系统启动时的日志信息,可能会发现与虚拟化相关的提示,如虚拟机的硬件模拟信息。
- 一些虚拟机可能会有特定的硬件标识,如虚拟化的网络接口名称可能包含
- 检查系统文件
- 在
/sys/class/dmi/id/
目录下,有关于系统硬件的信息文件。/sys/class/dmi/id/product_name
可能包含硬件产品名称,对于某些虚拟机,这个值可能会有特定的标识。
- 在
相关问答 FAQs
问题 1:如何在 Linux 中快速查看物理机的总内存大小?
答:可以使用 free -h
命令,它会以人类可读的方式显示内存使用情况,Mem
行中的 total
列就是物理机的总内存大小,执行 free -h
后,输出中会显示类似 Mem: 16G
(具体数值因机器而异),这就表示物理机的总内存为 16GB。
问题 2:怎么判断当前 Linux 系统是运行在虚拟机上还是物理机上?
答:可以通过多种方法来判断,可以查看网络接口名称,如果看到类似 venet
、vnet
等字样,有可能是虚拟机,检查磁盘设备,如果是 vda
、vdb
等,也可能是虚拟机,还可以使用 dmesg
命令查看系统启动日志,看是否有虚拟化相关的提示信息,在 /sys/class/dmi/id/
目录下的文件可能包含一些硬件特征,能帮助判断是否是虚拟机,
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/81091.html