Linux如何判断是物理机还是虚拟机

平时工作中使用Linux大部分是通过ssh远程连接到服务器上,比如应用安装部署和系统维护等。那么,对于没有进过机房的人,如何知道自己使用的Linux服务器是虚拟机还是物理机呢?

1.dmidecode命令

dmidecode命令可以获取有关系统硬件的详细信息,包括制造商信息。

虚拟机通常会在制造商信息中显示虚拟化平台的名称。在终端中运行以下命令:

[root@localhost ~]# dmidecode -s system-product-name
VMware Virtual Platform       

2.检查/sys文件系统

在/sys文件系统中有一个文件可以帮助你确定系统是虚拟机还是物理机。

使用以下命令:

[root@localhost ~]# cat /sys/class/dmi/id/product_name
VMware Virtual Platform     

3.lscpu命令

lscpu命令在Linux下输出与系统CPU相关的信息。

此命令从 /proc/cpuinfo 和 sysfs文件中检索CPU的体系结构(线程、CPU高速缓存、CPU 系列型号、内核、CPU数量等)信息,并将其显示在终端中。

使用以下命令:

[root@localhost ~]# lscpu | grep Hypervisor
Hypervisor vendor:     VMware  
图片[1]-Linux如何判断是物理机还是虚拟机-编程社

4.lscpi命令

lspci命令是用于列出所有PCI总线上的设备信息,输出结果包括:设备的类别、型号、厂商、状态、IRQ等信息。

输出结果的每一行对应一个设备,通常默认按照总线、设备号、功能号的顺序排列。

使用以下命令:

[root@localhost ~]# lspci | grep -i virtual
00:07.7 System peripheral: VMware Virtual Machine Communication Interface (rev 10)       

5.systemd-detect-virt命令

systemd-detect-virt 用于检测系统的运行环境是否为虚拟化环境,以及更进一步检测是哪种虚拟化环境,比如是哪种虚拟机或哪种容器。

使用以下命令:

[root@localhost ~]# systemd-detect-virt
vmware             

6.virt-what命令

virt-what 实际上是一个 Shell 脚本。

它通过各种启发式方法来识别虚拟化环境类型,可以检测出 QEMU/KVM、VMware、Hyper-V、VirtualBox、OpenVZ/Virtuozzo、Xen、LXC、IBM PowerVM 以及 Parallels 等平台类型。

使用以下命令:

[root@localhost ~]# virt-what
vmware           

7.dmesg命令

dmesg命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构、cpu、挂载的硬件,RAM等多个运行级别的大量的系统信息。

使用以下命令:

[root@localhost ~]# dmesg | grep -i hypervisor
[    0.000000] Hypervisor detected: VMware 

8.lshw命令lshw命令收集关于主机的硬件(比如处理器、磁盘、内存和USB控制器等)和配置大量信息。

使用以下命令:

[root@localhost ~]# lshw -class system
localhost
     description: Computer
     product: VMware Virtual Platform
     vendor: VMware, Inc.

以上,是比较常见的用来检测Linux是虚拟机还是物理机方法,当然对于操作系统平台之间的差异,不是所有方法都适用,有些需要额外安装软件包来实现,但是总有一种方法适合你,你学会了吗?

© 版权声明
THE END
喜欢就支持一下吧
点赞87 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称

    暂无评论内容