如何确定是否在KVM guest虚拟机中运行


Answers:


11

Grep dmesg,应该至少包含一行kvm。在我的机器上:

[    0.000000] kvm-clock: cpu 0, msr 0:5dd801, boot clock
[    0.000000] kvm-clock: cpu 0, msr 0:1023801, primary cpu clock

或者检查/proc/cpuinfo,其中包含一行:

model name : QEMU Virtual CPU version 0.9.1

但是,问题是:您不能确定自己是KVM来宾(在QEMU之上)还是仅是QEMU-Guest。


出于稳定性原因,可能不存在或禁用kvm-clock clocksource。
sendmoreinfo 2010年

2
您可能需要添加dmidecode到可能显示的方式列表中(如果您正在运行虚拟化),它可以与VMWare很好地配合使用。
Law 2016年


3

的当前版本lscpu还会显示是否检测到管理程序:

# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             2
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 23
Model name:            Intel Core 2 Duo P9xxx (Penryn Class Core 2)
Stepping:              3
CPU MHz:               2659.936
BogoMIPS:              5319.87
Hypervisor vendor:     KVM
Virtualization type:   full
...


0

另一种可能性是 dmidecode -s 'system-product-name'

[samveen@vm1 ~]$ sudo dmidecode -s 'system-product-name'
KVM

在Ubuntu 18.04设置:askubuntu.com/revisions/1046792/15上,此Ubuntu 18.04不适用于此操作系统,它仅输出:Standard PC (i440FX + PIIX , 1996)
Ciro Santilli冠状病毒审查六四事件法轮功

1
@CiroSantilli新疆改造中心六四事件法轮功请同时检查其他DMI信息字段。我没有访问基于Ubuntu的KVM主机进行测试。在大多数情况下,system-product-name即使在类似VirtualBox和的情况下,标识符也会给出预期的答案VMWare
萨文(Samveen)'18 -10-12
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.