如何知道 CPU 是否支持虚拟化技术(VT)

作者: Sk 译者: LCTT geekpi

我们已经知道如何检查你的 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,请运行:

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

示例输出:

你将在输出中看到 vmx(Intel-VT 技术)或 svm (AMD-V 支持)。

  1. 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
  2. [...]

由于输出很长,你可能会发现很难在输出中找到 vmxsvm。别担心!你可以像下面那样用颜色来区分这些术语。

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

如果你没有看到任何输出,这意味着你的系统不支持虚拟化。

请注意,cpuinfo 中的这些 CPU 标志(vmxsvm)表示你的系统支持 VT。在某些 CPU 型号中,默认情况下,可能会在 BIOS 中禁用 VT 支持。在这种情况下,你应该检查 BIOS 设置以启用 VT 支持。

有关 grep/egrep 命令的更多详细信息,请参阅手册页。

  1. $ man grep

方法 2: 使用 lscpu 命令

lscpu 命令用于显示有关 CPU 架构的信息。它从 sysfs/proc/cpuinfo 收集信息,并显示主机系统的 CPU、线程、内核、套接字和非统一内存访问 (NUMA) 节点的数量。

要确定是否启用 VT 支持,只需运行:

  1. $ lscpu

有关更多详细信息,请查看手册页。

  1. $ man lscpu

方法 3:使用 cpu-checker 工具

cpu-checker 是另一个有用的工具,用于测试你的 CPU 是否支持虚拟化。就我在网上搜索得到的,该程序仅适用于基于 Ubuntu 的系统。要安装它,请运行:

  1. $ sudo apt-get install cpu-checker

安装 cpu-checker 包之后,运行以下命令来检查是否启用 VT 支持:

  1. $ sudo kvm-ok

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

  1. INFO: /dev/kvm exists
  2. KVM acceleration can be used

如果你的 CPU 不支持 VT,你会看到如下的输出。

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

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

该工具专门用于基于 RHEL 的发行版,如 CentOS 和 Scientific Linux。 libvirt-client 包提供 virt-host-validate 二进制文件。所以你需要安装 libvert-client 包来使用这个工具。

  1. $ sudo yum install libvirt-client

现在,运行 virt-host-validate 命令来确定基于 RHEL 的系统中是否启用了 VT。

  1. $ sudo virt-host-validate

如果所有的结果是 pass,那么你的系统支持 VT。

  1. QEMU: Checking for hardware virtualization : PASS
  2. QEMU: Checking if device /dev/vhost-net exists : PASS
  3. QEMU: Checking if device /dev/net/tun exists : PASS
  4. QEMU: Checking for cgroup ‘memory‘ controller support : PASS
  5. QEMU: Checking for cgroup ‘memory‘ controller mount-point : PASS
  6. QEMU: Checking for cgroup ‘cpu‘ controller support : PASS
  7. QEMU: Checking for cgroup ‘cpu‘ controller mount-point : PASS
  8. QEMU: Checking for cgroup ‘cpuacct‘ controller support : PASS
  9. QEMU: Checking for cgroup ‘cpuacct‘ controller mount-point : PASS
  10. QEMU: Checking for cgroup ‘cpuset‘ controller support : PASS
  11. QEMU: Checking for cgroup ‘cpuset‘ controller mount-point : PASS
  12. QEMU: Checking for cgroup ‘devices‘ controller support : PASS
  13. QEMU: Checking for cgroup ‘devices‘ controller mount-point : PASS
  14. QEMU: Checking for cgroup ‘blkio‘ controller support : PASS
  15. QEMU: Checking for cgroup ‘blkio‘ controller mount-point : PASS
  16. QEMU: Checking for device assignment IOMMU support : PASS
  17. LXC: Checking for Linux >= 2.6.26 : PASS
  18. LXC: Checking for namespace ipc : PASS
  19. LXC: Checking for namespace mnt : PASS
  20. LXC: Checking for namespace pid : PASS
  21. LXC: Checking for namespace uts : PASS
  22. LXC: Checking for namespace net : PASS
  23. LXC: Checking for namespace user : PASS
  24. LXC: Checking for cgroup ‘memory‘ controller support : PASS
  25. LXC: Checking for cgroup ‘memory‘ controller mount-point : PASS
  26. LXC: Checking for cgroup ‘cpu‘ controller support : PASS
  27. LXC: Checking for cgroup ‘cpu‘ controller mount-point : PASS
  28. LXC: Checking for cgroup ‘cpuacct‘ controller support : PASS
  29. LXC: Checking for cgroup ‘cpuacct‘ controller mount-point : PASS
  30. LXC: Checking for cgroup ‘cpuset‘ controller support : PASS
  31. LXC: Checking for cgroup ‘cpuset‘ controller mount-point : PASS
  32. LXC: Checking for cgroup ‘devices‘ controller support : PASS
  33. LXC: Checking for cgroup ‘devices‘ controller mount-point : PASS
  34. LXC: Checking for cgroup ‘blkio‘ controller support : PASS
  35. LXC: Checking for cgroup ‘blkio‘ controller mount-point : PASS

如果你的系统不支持 VT,你会看到下面的输出。

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

就是这样了。在本文中,我们讨论了确定 CPU 是否支持 VT 的不同方法。如你所见,这很简单。希望这个有用。还有更多好的东西。敬请关注!

干杯!



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

作者:SK 译者:geekpi 校对:wxy

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

原文地址:https://www.cnblogs.com/pipci/p/10174550.html

时间: 2024-08-02 03:43:24

如何知道 CPU 是否支持虚拟化技术(VT)的相关文章

CPU硬件辅助虚拟化技术

目前主要有Intel的VT-x和AMD的AMD-V这两种技术.其核心思想都是通过引入新的指令和运行模式,使VMM和Guest OS分别运行在不同模式(ROOT模式和非ROOT模式)下,且Guest OS运行在Ring 0下.通常情况下,Guest OS的核心指令可以直接下达到计算机系统硬件执行,而不需要经过VMM.当Guest OS执行到特殊指令的时候,系统会切换到VMM,让VMM来处理特殊指令. 1.Intel VT-x技术 为弥补x86处理器的虚拟化缺陷,市场的驱动催生了VT-x,Intel

查看CPU是否支持虚拟化

参考:http://www.cnblogs.com/jankie/archive/2012/07/04/2575695.html 一.Windows平台:使用cpu-Z即可查看. 二.Linux平台:在终端执行#cat /proc/cpuinfo(或#grep -E '(vmx|svm)' /proc/cpuinfo)命令,找到flags部分,如果其中输出有VMX或SVM,即表明支持虚拟化技术. 三. Linux显示的flags部分解释:fpu – Onboard FPUvme – Virtua

判断CPU是否支持虚拟化软件分享

安装使用Hyper-V需要用户电脑的CPU支持硬件级的虚拟模式并处于开启状态.想要知道自己的硬件配置是否符合要求,可以直接下载以下这个工具,运行后该工具将自动测试你的CPU是否能支持硬件级的虚拟模式. 下载地址:http://dl.pconline.com.cn/download/54540.html

虚拟机中安装MAC OS X教程(适用所有电脑方法,特别是cpu不支持硬件虚拟化的电脑)

前言 之前写了一篇在Windows上搭建Object-C开发环境,并且写了一个HelloWorld程序.但真正开发苹果软件是在MAC OS X系统中(以下简称OSX)中.买不起MacBook,也没有OS X系统,怎么办呢?此时想到用虚拟机自己装一个OSX,这样行吗?下面我们就来探讨一下这个问题. 注意:以下探讨电脑安装OS X系统均指在虚拟机上安装OS X系统. 我的电脑支持吗? 首先给大家一个非常肯定的答案,你的电脑能安装OS X.OS X系统分为许多个版本,那能装哪个版本呢?查阅了一下资料,

Ubuntu下查看服务器cpu是否支持VT

http://blog.51cto.com/zhangmingqian/1249522 Ubuntu下查看服务器cpu是否支持VT 原创wazjajl 2013-07-15 16:25评论(0)119人阅读 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 21504965 AT qq.com 完成时间:2017/12/11 11:31 版本:V1.0 (1)通用方法 # grep -E 'svm|vmx' /proc/cpuinfo [email protected]:~$ [email prote

虚拟化技术原理(CPU、内存、IO)

本文来自:http://www.ywnds.com/?p=5856 虚拟化 云计算现在已经非常成熟了,而虚拟化是构建云计算基础架构不可或缺的关键技术之一. 云计算的云端系统, 其实质上就是一个大型的分布式系统. 虚拟化通过在一个物理平台上虚拟出更多的虚拟平台, 而其中的每一个虚拟平台则可以作为独立的终端加入云端的分布式系统. 比起直接使用物理平台, 虚拟化在资源的有效利用. 动态调配和高可靠性方面有着巨大的优势. 利用虚拟化, 企业不必抛弃现有的基础架构即可构建全新的信息基础架构,从而更加充分地

CPU纯软件全虚拟化技术

我们在前面的文章中提到了虚拟化技术的大致分类情况,即分为全虚拟化.半虚拟化和硬件辅助虚拟化技术3大类别.而我们虚拟化技术最主要的虚拟主体就是我们的硬件CPU.内存和IO,那么我们的CPU在全虚拟化模式下如何工作?在半虚拟化下如何工作?在硬件辅助虚拟化模式下如何工作?或着说细分下来,我们又可以分为CPU的全虚拟化技术.半虚拟化技术和硬件辅助虚拟化技术,内存的全虚拟化技术.半虚拟化技术和硬件辅助虚拟化技术以及IO设备的全虚拟化技术.半虚拟化技术和硬件辅助虚拟化技术.本次我们就来说说CPU的全虚拟化技

[虚拟化] CPU虚拟化技术 - Introduction

虚拟化技术的分类主要有服务器虚拟化.存储虚拟化.网络虚拟化.应用虚拟化. 服务器虚拟化技术按照虚拟对象来分,可分为:CPU虚拟化.内存虚拟化.I/O虚拟化: 按照虚拟化程度可分为:全虚拟化.半虚拟化.硬件辅助虚拟化. 将不同的虚拟化对象和程度组合,可得出 9种 不同的服务器虚拟化技术. 首先详细介绍下服务器虚拟化之CPU虚拟化,后续讲解中再详细介绍内存虚拟化及I/O虚拟化. 二.CPU虚拟化 ·CPU全虚拟化技术 主要采用优先级压缩技术(Ring Compression)和 二进制代码翻译技术(

CPU,内存虚拟化技术

内容从<深度实践KVM>一书总结 CPU.内存虚拟化技术与应用场景 NUMA技术与应用1.SMP技术2.MPP模式3.NUMA技术(none Uniform memory access architecture)非一致性内存访问架构numactl --hardware :查看当前CPU硬件的情况 numastat -c qemu-kvm 关闭Linux系统的自动平衡:echo 0 > /proc/sys/kernel/numa_balancing虚拟机NUMA信息查看与配置 virsh