我可以运行一个操作系统命令来确定是否在基于Xen的虚拟机内运行

StackOverflow https://stackoverflow.com/questions/3490995

  •  28-09-2019
  •  | 
  •  

是否有一个可以从Xen的虚拟机内运行的OS命令来告诉我这是一个虚拟盒而不是物理盒 - 我听说内核对此有一些自我意识。例如,喜欢“ PS”输出中的额外列? [我知道VMSTAT提供了“ ST”列,但我已经在运行Linux内核2.6.11及更大的物理主机框上看到了这一点]。

非常感谢,

保罗

有帮助吗?

解决方案

DMESG 可能会从内核消息缓冲区中提供一些提示,此处是从SliceHost的虚拟化Ubuntu实例上输出:

bvm@qdbp:~$ sudo dmesg | grep Xen
[    0.000000]  Xen: 0000000000000000 - 00000000000a0000 (usable)
[    0.000000]  Xen: 00000000000a0000 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 0000000010000000 (usable)
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 3.1.2-rc1
[    0.000000] Xen: using vcpu_info placement
[    0.000000] Xen: using vcpuop timer interface
[    0.000000] installing Xen timer for CPU 0
[    0.021223] installing Xen timer for CPU 1
[    0.046157] installing Xen timer for CPU 2
[    0.046157] installing Xen timer for CPU 3
[    0.265880] Initialising Xen virtual ethernet driver.

其他提示

尝试文件 /sys/hypervisor/uuid.

  1. 它不存在 - >与Xen无关。
  2. 它确实存在,并且充满了0 -S->它是Xen dom0
  3. 它确实存在,并且具有非0值 - >它是domu

当然,这需要 /sys安装和填充...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top