是否有可以运行的OS命令来确定是否在基于Xen的虚拟机中运行

pjp*_*pjp 18 unix linux xen

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

非常感谢,

保罗

小智 25

试试文件 /sys/hypervisor/uuid.

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

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


unm*_*ted 23

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.
Run Code Online (Sandbox Code Playgroud)