Linux中國

如何知道 CPU 是否支持虛擬化技術(VT)

我們已經知道如何檢查你的 Linux 操作系統是 32 位還是 64 位以及如何知道你的 Linux 系統是物理機還是虛擬機。今天,我們將學習另一個有用的話題 - 如何知道 CPU 是否支持虛擬化技術VT)?在安裝虛擬化程序(如 VirtualBox 或 VMWare workstation)以在 Linux 系統上運行虛擬機之前,你應該首先驗證這一點。現在讓我們來看看你的電腦是否支持 VT。相信我,這真的很簡單!

了解 CPU 是否支持虛擬化技術VT

我們可以通過幾種方法檢查 CPU 是否支持 VT。在這裡我向你展示四種方法。

方法 1:使用 egrep 命令

egrepgrep 命令的變體之一,用於使用正則表達式搜索文本文件。為了本指南的目的,我們將 grep /cpu/procinfo/ 文件來確定 CPU 是否支持 VT。

要使用 egrep 命令查明你的CPU是否支持VT,請運行:

$ egrep "(svm|vmx)" /proc/cpuinfo

示例輸出:

你將在輸出中看到 vmx(Intel-VT 技術)或 svm (AMD-V 支持)。

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx lahf_lm epb pti tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm arat pln pts
[...]

由於輸出很長,你可能會發現很難在輸出中找到 vmxsvm。別擔心!你可以像下面那樣用顏色來區分這些術語。

$ egrep --color -i "svm|vmx" /proc/cpuinfo

如果你沒有看到任何輸出,這意味著你的系統不支持虛擬化。

請注意,cpuinfo 中的這些 CPU 標誌(vmxsvm)表示你的系統支持 VT。在某些 CPU 型號中,默認情況下,可能會在 BIOS 中禁用 VT 支持。在這種情況下,你應該檢查 BIOS 設置以啟用 VT 支持。

有關 grep/egrep 命令的更多詳細信息,請參閱手冊頁。

$ man grep

方法 2: 使用 lscpu 命令

lscpu 命令用於顯示有關 CPU 架構的信息。它從 sysfs/proc/cpuinfo 收集信息,並顯示主機系統的 CPU、線程、內核、套接字和非統一內存訪問 (NUMA) 節點的數量。

要確定是否啟用 VT 支持,只需運行:

$ lscpu

有關更多詳細信息,請查看手冊頁。

$ man lscpu

方法 3:使用 cpu-checker 工具

cpu-checker 是另一個有用的工具,用於測試你的 CPU 是否支持虛擬化。就我在網上搜索得到的,該程序僅適用於基於 Ubuntu 的系統。要安裝它,請運行:

$ sudo apt-get install cpu-checker

安裝 cpu-checker 包之後,運行以下命令來檢查是否啟用 VT 支持:

$ sudo kvm-ok

如果您的 CPU 支持 VT,你將得到以下輸出:

INFO: /dev/kvm exists
KVM acceleration can be used

如果你的 CPU 不支持 VT,你會看到如下的輸出。

INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used

方法 4:使用 virt-host-validate 工具

該工具專門用於基於 RHEL 的發行版,如 CentOS 和 Scientific Linux。 libvirt-client 包提供 virt-host-validate 二進位文件。所以你需要安裝 libvert-client 包來使用這個工具。

$ sudo yum install libvirt-client

現在,運行 virt-host-validate 命令來確定基於 RHEL 的系統中是否啟用了 VT。

$ sudo virt-host-validate

如果所有的結果是 pass,那麼你的系統支持 VT。

 QEMU: Checking for hardware virtualization : PASS
 QEMU: Checking if device /dev/vhost-net exists : PASS
 QEMU: Checking if device /dev/net/tun exists : PASS
 QEMU: Checking for cgroup 'memory' controller support : PASS
 QEMU: Checking for cgroup 'memory' controller mount-point : PASS
 QEMU: Checking for cgroup 'cpu' controller support : PASS
 QEMU: Checking for cgroup 'cpu' controller mount-point : PASS
 QEMU: Checking for cgroup 'cpuacct' controller support : PASS
 QEMU: Checking for cgroup 'cpuacct' controller mount-point : PASS
 QEMU: Checking for cgroup 'cpuset' controller support : PASS
 QEMU: Checking for cgroup 'cpuset' controller mount-point : PASS
 QEMU: Checking for cgroup 'devices' controller support : PASS
 QEMU: Checking for cgroup 'devices' controller mount-point : PASS
 QEMU: Checking for cgroup 'blkio' controller support : PASS
 QEMU: Checking for cgroup 'blkio' controller mount-point : PASS
 QEMU: Checking for device assignment IOMMU support : PASS
 LXC: Checking for Linux >= 2.6.26 : PASS
 LXC: Checking for namespace ipc : PASS
 LXC: Checking for namespace mnt : PASS
 LXC: Checking for namespace pid : PASS
 LXC: Checking for namespace uts : PASS
 LXC: Checking for namespace net : PASS
 LXC: Checking for namespace user : PASS
 LXC: Checking for cgroup 'memory' controller support : PASS
 LXC: Checking for cgroup 'memory' controller mount-point : PASS
 LXC: Checking for cgroup 'cpu' controller support : PASS
 LXC: Checking for cgroup 'cpu' controller mount-point : PASS
 LXC: Checking for cgroup 'cpuacct' controller support : PASS
 LXC: Checking for cgroup 'cpuacct' controller mount-point : PASS
 LXC: Checking for cgroup 'cpuset' controller support : PASS
 LXC: Checking for cgroup 'cpuset' controller mount-point : PASS
 LXC: Checking for cgroup 'devices' controller support : PASS
 LXC: Checking for cgroup 'devices' controller mount-point : PASS
 LXC: Checking for cgroup 'blkio' controller support : PASS
 LXC: Checking for cgroup 'blkio' controller mount-point : PASS

如果你的系統不支持 VT,你會看到下面的輸出。

QEMU: Checking for hardware virtualization : FAIL (Only emulated CPUs are available, performance will be significantly limited)
[...]

就是這樣了。在本文中,我們討論了確定 CPU 是否支持 VT 的不同方法。如你所見,這很簡單。希望這個有用。還有更多好的東西。敬請關注!

乾杯!

via: https://www.ostechnix.com/how-to-find-if-a-cpu-supports-virtualization-technology-vt/

作者:SK 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...
    Linux中國

    SSL/TLS 加密新紀元 – Lets Encrypt

    根據 Let's Encrypt 官方博客消息,Let's Encrypt 服務將在下周(11 月 16 日)正式對外開放。 Let's Encrypt 項目是由互聯網安全研究小組(ISRG,Internet Security Research Group)主導並開發的一個新型數字證書認證機構(CA,Certificate ...