Ich plane, Linux im Benutzermodus qemu auszuführen, weiß aber nicht, welche Plattform (z. B. x86, ppc usw.) die beste ist (in Bezug auf die Leistung).
Der Host ist Linux x86-64, das unter OpenVZ ausgeführt wird (daher kann ich den Kernel nicht ändern). Daher kann ich nach meinem Verständnis keine Virtualisierung und nur die Emulation im Benutzermodus verwenden.
Gibt es in einer solchen Situation signifikante Leistungsunterschiede bei der Emulation verschiedener CPUs? x86-64 klingt nach der besten Option, aber wenn es nur emuliert werden soll, gibt es eine effizientere Plattform?
Vielen Dank!
Antworten:
Die Verwendung der nativen CPU (x86) ist immer schneller als die Emulation einer anderen CPU. Qemu sollte funktionieren, wenn es noch in der Lage ist, die Emulation im alten Stil durchzuführen (von bevor KVM entstand). Sie können auch den Benutzermodus Linux (UML) in Betracht ziehen, da hierbei ein speziell modifizierter Linux-Kernel als normaler Prozess ausgeführt wird (Benutzermodus). Dies ist ähnlich wie bei OpenVZ, Sie können jedoch im Gegensatz zu XEN, KVM und Virtualbox viele Ebenen verschachteln.
quelle
OK, ich bin damit einverstanden, nicht über die mehreren Schichten zu sprechen ... Abgesehen davon,
Vorausgesetzt, Sie haben keinen Zugriff auf den Kernel und können mit KVM nichts anfangen. Ehrlich gesagt, Ihre beste Option wäre es, sich UML anzuschauen. Es ist die einzige Möglichkeit, eine anständige Leistung aus der Situation herauszuholen. Wenn UML aus irgendeinem Grund keine akzeptable Lösung ist. Vielleicht möchten Sie auch regelmäßige alte Chroots in Betracht ziehen. Diese Optionen erzielen im Gegensatz zu QEMU eine akzeptable Leistung. Die vollständige Emulation ist für Tests / Entwicklungen vollkommen in Ordnung, für alles andere wäre sie jedoch lächerlich. Vor allem, wenn Sie bedenken, dass Sie dies alles von einem gemieteten VPS aus tun.
Wenn Sie Zugriff auf das Hinzufügen neuer Kernelmodule haben, bringt die alte KQEMU + QEMU-Schule etwas Virtualisierung mit sich. Ich möchte auch erwähnen, dass KQEMU und QVM86 die ursprünglichen Methoden für die QEMU-Virtualisierung waren, bevor KVM auf den Markt kam. Darüber hinaus würde die Emulation Ihres Hosts den geringsten Verlust bringen. Wenn qemu x86_64 ausführt, führen Sie x86_64 aus.
quelle