作者: 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中国 荣誉推出

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

  1. 怎样知道 CPU 是否支持虚拟化技术(VT) | Linux 中国

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/F8qG7f9YD02Pe/article/details/79832475 wx_fmt=png&a ...

  2. 查看CPU是否支持虚拟化

    参考:http://www.cnblogs.com/jankie/archive/2012/07/04/2575695.html 一.Windows平台:使用cpu-Z即可查看. 二.Linux平台: ...

  3. CPU硬件辅助虚拟化技术

    目前主要有Intel的VT-x和AMD的AMD-V这两种技术.其核心思想都是通过引入新的指令和运行模式,使VMM和Guest OS分别运行在不同模式(ROOT模式和非ROOT模式)下,且Guest O ...

  4. 检测CPU是否支持虚拟化

    一:下载检测软件 地址:http://files.cnblogs.com/hongmaju/Coreinfo.rar 二:使用方法 打开运行窗口,找到Coreinfo.exe,运行如下: 现在你要做的 ...

  5. 检测cpu是否支持虚拟化和二级地址转换【转】

    SLAT:二级地址转换   用微软的小工具“Coreinfo.exe” 下载地址是: http://technet.microsoft.com/en-us/sysinternals/cc835722 ...

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

    前言 之前写了一篇在Windows上搭建Object-C开发环境,并且写了一个HelloWorld程序.但真正开发苹果软件是在MAC OS X系统中(以下简称OSX)中.买不起MacBook,也没有O ...

  7. 云计算大数据:Xen、KVM、VMware、hyper-v等虚拟化技术的比较

    1.Xen.KVM.VMware.hyper-v等虚拟化技术的比较,xen和kvm,是开源免费的虚拟化软件. vmware是付费的虚拟化软件. hyper-v比较特别,是微软windows 2008 ...

  8. 解决在VMware中安装64位系统时“此主机具有虚拟化支持能力的,但虚拟化技术被禁用”的方法

    您已经配置此虚拟机使用64位客户操作系统.然而,64位操作系统不可用.此主机具有虚拟化支持能力的,但虚拟化技术被禁用.这通常是因为虚拟化技术已经在BIOS /固件设置或禁用或主机没有权限改变此设置. ...

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

    http://blog.51cto.com/zhangmingqian/1249522 Ubuntu下查看服务器cpu是否支持VT 原创wazjajl 2013-07-15 16:25评论(0)119 ...

随机推荐

  1. bzoj2463: [中山市选2009]谁能赢呢?(博弈论)

    2463: [中山市选2009]谁能赢呢? 题目:传送门 题解: 水体! n为偶数的话必能被1*2的矩形覆盖,那么因为一开始在左上角,所以先手一定可以先组成一个矩形,那么先手肯定必胜! n为奇数和上面 ...

  2. nyoj--2--括号配对问题(栈函数)

    括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100), ...

  3. KafkaZookeeper2-ZookeeperClient

    介绍 ZookeeperClient 是 kafka 新写的客户端,它允许用户流水线式(并行)访问 zookeeper. 为什么放弃了 zkClient? zkClient 是一个第三方的客户端. 它 ...

  4. (转载) Android studio如何生成aar包

    Android studio如何生成aar包 标签: Android studio如何生成aaAndroid studio aarAndroid 如何生成aar包 2016-12-21 14:42 1 ...

  5. Codeforces 845A. Chess Tourney 思路:简单逻辑题

    题目: 题意:输入一个整数n,接着输入2*n个数字,代表2*n个选手的实力.    实力值大的选手可以赢实力值小的选手,实力值相同则都有可能赢.    叫你把这2*n个选手分成2个有n个选手的队伍. ...

  6. Swift 闭包中 self? 的由来

    class UIViewSpringAnimator: SwipeAnimator { // 动画完成的闭包 var completion:((Bool) ->Void)? func addCo ...

  7. 洛谷 P1967 货车运输 LCA + 最小生成树

    两点之间边权最大值的最小值一定在图的最小生成树中取到. 求出最小生成树,进行倍增即可. Code: #include<cstdio> #include<algorithm> u ...

  8. JavaScript函数写法整理

    1.普通函数定义的两种写法 function hello(){ console.log("hello!"); } var hello = function(){ console.l ...

  9. HDU 2295 Radar 重复覆盖 DLX

    题意: N个城市,M个雷达站,K个操作员,问雷达的半径至少为多大,才能覆盖所有城市.M个雷达中最多只能有K个同时工作. 思路: 二分雷达的半径,看每个雷达可以覆盖哪些城市,然后做重复覆盖,判断这个半径 ...

  10. NYIST 46 最少乘法次数

    最少乘法次数 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 给你一个非零整数,让你求这个数的n次方,每次相乘的结果可以在后面使用,求至少需要多少次乘.如24:2*2 ...