肿瘤康复网,内容丰富有趣,生活中的好帮手!
肿瘤康复网 > linux查看支持vt功能 怎样知道 CPU 是否支持虚拟化技术(VT) | Linux 中国

linux查看支持vt功能 怎样知道 CPU 是否支持虚拟化技术(VT) | Linux 中国

时间:2021-11-06 00:51:37

相关推荐

wx_fmt=png&wxfrom=5&wx_lazy=1" alt="640?wx_fmt=png&wxfrom=5&wx_lazy=1" />在安装虚拟化程序(如 VirtualBox 或 VMWare workstation)以在 Linux 系统上执行虚拟机之前,你应该首先验证这一点。-- Sk

实用的原文链接请訪问文末的“原文链接”获得可点击的文内链接、全尺寸原图和相关文章。致谢编译自|/how-to-find-if-a-cpu-supports-virtualization-technology-vt/

作者|Sk

译者|geekpi ?

? 共计翻译:688篇 贡献时间:1622 天

我们已经知道怎样检查你的 Linux 操作系统是 32 位还是 64 位[1]以及怎样知道你的 Linux 系统是物理机还是虚拟机[2]。今天,我们将学习还有一个实用的话题 - 怎样知道 CPU 是否支持虚拟化技术 (VT)?在安装虚拟化程序(如 VirtualBox 或 VMWare workstation)以在 Linux 系统上执行虚拟机之前,你应该首先验证这一点。

如今让我们来看看你的电脑是否支持 VT。

相信我,这真的非常easy!

了解 CPU 是否支持虚拟化技术 (VT)

我们能够通过几种方法检查 CPU 是否支持 VT。在这里我向你展示四种方法。

方法 1:使用 egrep 命令

egrep是grep[3]命令的变体之中的一个,用于使用正則表達式搜索文本文件。为了本指南的目的,我们将 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

[...]

因为输出非常长,你可能会发现非常难在输出中找到vmx或svm。别操心。你能够像以下那样用颜色来区分这些术语。

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

/mmbiz_png/W9DqKgFsc6icUXArMXM2nWBoBFtIScp6UX9ibub9Lbq5klJkAMiaRT66icN0XwYjjTplIbWk0dJ0bXzKJGn9GpMlyw/640?wx_fmt=png" alt="640?

wx_fmt=png" />

假设你没有看到不论什么输出,这意味着你的系统不支持虚拟化。

请注意。cpuinfo中的这些 CPU 标志(vmx或svm)表示你的系统支持 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 的不同方法。如你所见,这非常easy。

希望这个实用。还有很多其它好的东西。敬请关注!

干杯!

via:/how-to-find-if-a-cpu-supports-virtualization-technology-vt/

作者:SK[5]译者:geekpi校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

如果觉得《linux查看支持vt功能 怎样知道 CPU 是否支持虚拟化技术(VT) | Linux 中国》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。