19

是否有一个操作系统命令我可以从基于 Xen 的虚拟机中运行,告诉我它是一个虚拟盒子而不是物理盒子——我听说内核对此有一些自我意识的智慧。例如,像“ps”输出中的额外列或其他什么?[我知道 vmstat 提供了“st”列,但我在运行 Linux Kernel 2.6.11 及更高版本的物理主机上也看到了这一点]。

非常感谢,

保罗

4

2 回答 2

26

试文件/sys/hypervisor/uuid.

  1. 它不存在 -> 与 XEN 无关。
  2. 它确实存在,并且充满了 0-s -> 它是一个 XEN Dom0
  3. 它确实存在,并且有一个非 0 值 -> 它是一个 DomU

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

于 2011-04-27T19:25:52.150 回答
25

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.
于 2010-08-16T09:23:08.007 回答