怎么查看使用的Linux是虛擬機(jī)還是物理機(jī)
平時(shí)工作中使用Linux大部分是通過ssh遠(yuǎn)程連接到服務(wù)器上,比如應(yīng)用安裝部署和系統(tǒng)維護(hù)等。那么,對于沒有進(jìn)過機(jī)房的人,如何知道自己使用的Linux服務(wù)器是虛擬機(jī)還是物理機(jī)呢?
1.dmidecode命令
dmidecode命令可以獲取有關(guān)系統(tǒng)硬件的詳細(xì)信息,包括制造商信息。虛擬機(jī)通常會在制造商信息中顯示虛擬化平臺的名稱。在終端中運(yùn)行以下命令:
[root@localhost ~]# dmidecode -s system-product-name
VMware Virtual Platform
2.檢查/sys文件系統(tǒng)
在/sys文件系統(tǒng)中有一個文件可以幫助你確定系統(tǒng)是虛擬機(jī)還是物理機(jī)。使用以下命令:
[root@localhost ~]# cat /sys/class/dmi/id/product_name
VMware Virtual Platform
3.lscpu命令
lscpu命令在Linux下輸出與系統(tǒng)CPU相關(guān)的信息。此命令從 /proc/cpuinfo 和 sysfs文件中檢索CPU的體系結(jié)構(gòu)(線程、CPU高速緩存、CPU 系列型號、內(nèi)核、CPU數(shù)量等)信息,并將其顯示在終端中。使用以下命令:
[root@localhost ~]# lscpu | grep Hypervisor
Hypervisor vendor: VMware
4.lscpi命令
lspci命令是用于列出所有PCI總線上的設(shè)備信息,輸出結(jié)果包括:設(shè)備的類別、型號、廠商、狀態(tài)、IRQ等信息。輸出結(jié)果的每一行對應(yīng)一個設(shè)備,通常默認(rèn)按照總線、設(shè)備號、功能號的順序排列。使用以下命令:
[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 用于檢測系統(tǒng)的運(yùn)行環(huán)境是否為虛擬化環(huán)境,以及更進(jìn)一步檢測是哪種虛擬化環(huán)境,比如是哪種虛擬機(jī)或哪種容器。使用以下命令:
[root@localhost ~]# systemd-detect-virt
vmware
6.virt-what命令
virt-what 實(shí)際上是一個 Shell 腳本。它通過各種啟發(fā)式方法來識別虛擬化環(huán)境類型,可以檢測出 QEMU/KVM、VMware、Hyper-V、VirtualBox、OpenVZ/Virtuozzo、Xen、LXC、IBM PowerVM 以及 Parallels 等平臺類型。使用以下命令:
[root@localhost ~]# virt-what
vmware
7.dmesg命令
dmesg命令顯示linux內(nèi)核的環(huán)形緩沖區(qū)信息,我們可以從中獲得諸如系統(tǒng)架構(gòu)、cpu、掛載的硬件,RAM等多個運(yùn)行級別的大量的系統(tǒng)信息。使用以下命令:
[root@localhost ~]# dmesg | grep -i hypervisor
[ 0.000000] Hypervisor detected: VMware
8.lshw命令
lshw命令收集關(guān)于主機(jī)的硬件(比如處理器、磁盤、內(nèi)存和USB控制器等)和配置大量信息。使用以下命令:
[root@localhost ~]# lshw -class system
localhost
description: Computer
product: VMware Virtual Platform
vendor: VMware, Inc.
以上,是比較常見的用來檢測Linux是虛擬機(jī)還是物理機(jī)方法,當(dāng)然對于操作系統(tǒng)平臺之間的差異,不是所有方法都適用,有些需要額外安裝軟件包來實(shí)現(xiàn),但是總有一種方法適合你,你學(xué)會了嗎?