qemu - schnellste User-Mode-Emulationsplattform?


3

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!


Das hört sich so an, als würden Sie eine Linux-qemu-VM in einem Linux-Container auf einer Linux-basierten OpenVZ ausführen. Gibt es einen Grund für den 3-Lagen-Ansatz? Das scheint übertrieben.
Shannon Nelson

Es funktioniert zwar, aber es ist eine gemietete VPS - so habe ich keine Wahl der oberen Schicht. Kommentare, ob ich das machen soll oder nicht, das interessiert mich immer noch ein wenig. Ich dachte, jemand hätte vielleicht ein paar Benchmarks gemacht, also fragte ich.
IONICE

1
Ich habe keine Benchmarks (oder wirklich irgendetwas, das meine Meinung stützt), aber ich würde x86 denken - es wäre theoretisch weniger ressourcenintensiv als x86-64, und wahrscheinlich wurde mehr Arbeit aufgewendet, um es schneller zu machen als ARM oder PPC.
user55325

Antworten:


0

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.


0

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.