我计划在用户模式 qemu 下运行 Linux,但不知道哪个平台(例如 x86、PPC 等)是最好的选择(性能方面)。
主机是在 OpenVZ 中运行的 Linux x86-64(因此无法修改内核),所以,据我所知,我无法使用虚拟化,只能使用用户模式仿真。
在这种情况下,模拟不同的 CPU 是否会对性能产生显著影响?x86-64 听起来是最好的选择,但如果要纯粹模拟,有没有更高效的平台?
答案1
使用本机 CPU (x86) 总是比模拟另一个 CPU 更快。如果 Qemu 仍然能够进行旧式模拟(在 KVM 出现之前),它应该可以工作。您可能还想考虑用户模式 Linux (UML),因为它涉及将经过特殊修改的 Linux 内核作为正常进程(用户模式)运行。这类似于 OpenVZ 所做的,但您可以嵌套多层,这与 XEN、KVM、Virtualbox 不同。
答案2
好吧,我同意不谈论多层……除此之外,
假设您无法访问内核,并且无法使用 KVM 执行任何操作。老实说,您最好的选择是查看 UML,这是从这种情况中获得任何体面性能的唯一方法。如果出于某种原因,UML 不是一个可接受的解决方案。您可能还想考虑常规的旧 chroot。与 QEMU 不同,这些选项将达到可接受的水平。完全模拟对于测试/开发来说是完全可以的,但对于其他任何事情来说,这都是荒谬的。尤其是考虑到您是从租用的 VPS 进行所有这些操作时。
如果您确实可以添加新的内核模块,那么老式的 KQEMU + QEMU 会带来一些虚拟化。我还想提一下,在 KVM 出现之前,KQEMU 和 QVM86 是 QEMU 虚拟化的原始方法。此外,模拟主机的损失最小。如果 qemu 运行 x86_64,则运行 x86_64。