首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查Centos 7上是否启用了没有sudo的虚拟化?

检查Centos 7上是否启用了没有sudo的虚拟化?
EN

Stack Overflow用户
提问于 2016-04-04 08:02:21
回答 1查看 4.9K关注 0票数 4

我需要检查在Centos 7上是否启用了没有sudo的虚拟化。

我找到了检查虚拟化是否启用的命令,但它需要sudo。

代码语言:javascript
复制
sudo modprobe msr
sudo rdmsr 0x3a

对于Ubuntu,存在实用程序cpu检查器,它可以检查虚拟化是否在没有sudo的情况下启用。

代码语言:javascript
复制
kvm-ok

在Centos 7上是否存在与cpu检查器类似的实用程序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-04 08:21:23

第一:

kvm-okrdmsr 0x3a做的事情完全不同。

kvm-ok,根据它的手册页,它只是解析/proc/cpuinfo中指示虚拟化技术的CPU标志(然后检查是否加载了必要的模块,而rdmsr读取的是特定于模型的特定寄存器)。

因此,kvm-ok不执行任何您需要根特权的操作,而rdmsr不能工作,因为您的进程不需要上下文来查询这些寄存器。

rdmsr 0x3a可以使用一些技巧来确定在英特尔核心iX或更高版本的XEON处理器上是否启用了VT技术;对于性能虚拟化,这是必需的,而不是充足的

因此,我想说的是,继续做kvm-ok手工做的事情。

检查第一个CPU的vmxsvm 标志

代码语言:javascript
复制
grep flags /proc/cpuinfo|head -n1|grep -Eo '(vmx|svm)'

并验证kvm模型是否已加载:

代码语言:javascript
复制
lsmod | grep '^kvm'

实际上,如果您实际上需要查询特定于模型的寄存器(例如,由于某些原因,即使在UEFI设置中禁用了VT,也存在vmx标志),那么最简单的方法当然是使用sudo的功能来指定要运行的程序,由您选择的用户使用参数0x3a (让我们称之为daemonuser)而不使用密码(请参阅man sudoers/usr/share/doc/sudo/examples/sudoers):

代码语言:javascript
复制
daemonuser ALL = NOPASSWD: /path/to/rdmsr 0x3a
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36397351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档