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

wx_fmt=png&wxfrom=5&wx_lazy=1" alt="640?wx_fmt=png&wxfrom=5&wx_lazy=1" />在安装虚拟化程序(如 VirtualBox 或 VMWare workstation)以在 Linux 系统上执行虚拟机之前,你应该首先验证这一点。-- Sk
实用的原文链接请訪问文末的“原文链接”获得可点击的文内链接、全尺寸原图和相关文章。致谢编译自 | https://www.ostechnix.com/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。请执行:


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

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


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

https://mmbiz.qpic.cn/mmbiz_png/W9DqKgFsc6icUXArMXM2nWBoBFtIScp6UX9ibub9Lbq5klJkAMiaRT66icN0XwYjjTplIbWk0dJ0bXzKJGn9GpMlyw/640?wx_fmt=png" alt="640?

wx_fmt=png" />

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

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

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

干杯!


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

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

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

怎样知道 CPU 是否支持虚拟化技术(VT) | Linux 中国的更多相关文章

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

    作者: Sk 译者: LCTT geekpi 我们已经知道如何检查你的 Linux 操作系统是 32 位还是 64 位以及如何知道你的 Linux 系统是物理机还是虚拟机.今天,我们将学习另一个有用的 ...

  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. android中:/system/bin/sh: : No such file or directory错误

    将一个raspberry下编译好的可执行文件放在android的system/bin下,修改为777权限,运行,出现下面的错误: /system/bin/sh: XXX: No such file o ...

  2. 【PHP】 毫秒级时间戳和日期格式转换

    在并发量搞得情况下.需要开启毫秒级运算 mysql  支持: `create_time` datetime() DEFAULT NULL COMMENT '创建时间', 效果 PHP 代码实现: &l ...

  3. css笔记 - 张鑫旭css课程笔记之 relative 篇

    relative地址 relative 对 absolute的限制作用 限制left/top/right/bottom(方位值)定位 限制描述:absolute设置了方位值时,这些方位值是相对于pos ...

  4. 原生js--键盘事件

    键盘事件知识点: 1.如果用户按键事件足够长,在keyup事件触发之前,会触发多次keydown事件 2.通过keyCode(charCode firefox)指定按下的是哪个键,采用unicode编 ...

  5. sencha touch 自定义cardpanel控件 模仿改进NavigationView 灵活添加按钮组,导航栏,自由隐藏返回按钮(废弃 仅参考)

    最新版本我将会放在:http://www.cnblogs.com/mlzs/p/3382229.html这里的示例里面,这里不会再做更新 代码: /* *模仿且改进NavigationView *返回 ...

  6. CentOS6.4挂载读写NTFS分区 (重要)

    如今很多的linux衍生版本已经支持自动连接NTFS分区了,之前在一次安装的过程中,遇到 linux不能识别NTFS分区,解决方法如下文: ============================== ...

  7. vue开发 - 将方法绑定到window对象,给app端调用

    通过jsBridge方法,H5可以调用客户端(ios,android)的内部方法,同样,客户端也需要能调用H5页面里定义的js方法,但是在vue里,所有的方法都是在组件内部声明的,也只能在组件内部调用 ...

  8. A simple guide to 9-patch for Android UI

    extends:http://radleymarx.com/blog/simple-guide-to-9-patch/ While I was working on my first Android ...

  9. Java虚拟机三 Java堆和栈

    Java堆是和Java应用程序关系最为紧密的内存空间,几乎所有的对象都存放在堆中.并且堆是完全自动化管理的. 根据垃圾回收机制的不同,Java堆有可能有不同的结构.最为常见的一种就是将整个Java堆分 ...

  10. oracle的日期相减

    oracle的日期相减 : 两个date类型的 日期相减,得到的是天数,可能是带小数点的.如下: