Virtualisierungssoftware qemu: native CPU-Emulation (wie erkennen) ?
![](https://seccdn.libravatar.org/avatar/6b34cc9d01ec2be4160a8885c937c392.jpg?s=120&d=mm&r=g)
Hallo, ausgehend von vorhergehenden Thread teste ich jetzt qemu und virt-manager. Zwei VMs eingerichtet mit Leap 15.2und kubuntu. Funktionierte soweit problemlos. ABER: mich beschleicht das Gefühl, daß die CPU emuliert wird und nicht native verwendet wird. Einige Programme (kubuntu, BOINC) laufen deutlich langsamer, bei anderen sehe ich nur geringen Laufzeit-Unterschied, soweit ich das getestet habe. Was mich irritiert: Lt kinfocenter hat der Gast (kubuntu)in der VM einen AMD EPYC Prozesser. Tatsächlich hat der Host einen Ryzen 9 3900x. Lt "ps alx | grep qemu" auf dem Host wird als Emulationsprozeß "qemu-system-x86_64" gefunden. In der (rieeesigen) Parameterliste findet sich auch "-machine ...,accel=kvm,..." was wohl die native CPU-Emulation triggern soll. Frage: wie/wo kann ich erkennen, ob die CPU emuliert wird oder native verwendet wird? Wenn CPU emuliert, was muß ich machen/konfigurieren, damit ich native CPU-Nutzung bekomme ? Jürgen
![](https://seccdn.libravatar.org/avatar/e1235e97202e679ab15490f37566aa31.jpg?s=120&d=mm&r=g)
Hallo,
ausgehend von vorhergehenden Thread teste ich jetzt qemu und virt-manager.
qemu oder KVM? Wenn im VMM bei der Verbindung "QEMU/KVM" steht, ist es KVM. Qemu gäbe es auch ohne KVM, umgekehrt nicht. Qemu kann CPUs emulieren, KVM nicht. Du kannst nur die Features reduzieren. Also eine ältere CPU-Version mit weniger Features auswählen. Im BIOS des Rechners muss die Virtualisierungsfunktion aktiviert sein. Allerdings ist das Bedingung für eine erfolgreiche KVM-Installation. bzw. kann es überprüft werden: egrep -c '(vmx|svm)' /proc/cpuinfo Jeder Kern sollte bei AMD svm unterstützen, also sollten da 12 rauskommen.
Zwei VMs eingerichtet mit Leap 15.2und kubuntu. Funktionierte soweit problemlos.
ABER: mich beschleicht das Gefühl, daß die CPU emuliert wird und nicht native verwendet wird. Einige Programme (kubuntu, BOINC) laufen deutlich langsamer, bei anderen sehe ich nur geringen Laufzeit-Unterschied, soweit ich das getestet habe.
Wie sieht es mit der Anzahl der Kerne aus? Deine CPU hat 12 Kerne mit HT. Wenn du da der VM nur 2 logische Kerne zuweist, wäre das 1/12 deiner Host-Leistung. Das könnte sich schon bemerkbar machen.
Was mich irritiert: Lt kinfocenter hat der Gast (kubuntu)in der VM einen AMD EPYC Prozesser. Tatsächlich hat der Host einen Ryzen 9 3900x.
Ich habe keine AMD CPU, doch auch hier teilt libvirt den VMs solch pauschale CPU-Namen mit. Über Emulierung sagt das nichts aus. Im Grunde geht es um die Features. Wenn in den CPU-Settings der VM "Die Konfiguration vom Wirt kopieren" gesetzt ist, wird das maximale an die VM weitergegeben. Wenn du die CPU Features dann in der VM mit jenem des Hosts vergleichst, sollten sie identisch sein.
Lt "ps alx | grep qemu" auf dem Host wird als Emulationsprozeß "qemu-system-x86_64" gefunden. In der (rieeesigen) Parameterliste findet sich auch "-machine ...,accel=kvm,..." was wohl die native CPU-Emulation triggern soll.
Das sehe ich bei mir auch.
Frage: wie/wo kann ich erkennen, ob die CPU emuliert wird oder native verwendet wird? Wenn CPU emuliert, was muß ich machen/konfigurieren, damit ich native CPU-Nutzung bekomme ?
VMM zeigt in der VM-Settings Übersicht den Hypervisor an. Im Startbefehl (im Systemmonitor) gibt es den Parameter "accel". Bei beiden sollte KVM stehen. Richard
![](https://seccdn.libravatar.org/avatar/6b34cc9d01ec2be4160a8885c937c392.jpg?s=120&d=mm&r=g)
Am 01.05.21 um 21:45 schrieb Richard Hafenscher: ....
Lt "ps alx | grep qemu" auf dem Host wird als Emulationsprozeß "qemu-system-x86_64" gefunden. In der (rieeesigen) Parameterliste findet sich auch "-machine ...,accel=kvm,..." was wohl die native CPU-Emulation triggern soll.
Das sehe ich bei mir auch.
Frage: wie/wo kann ich erkennen, ob die CPU emuliert wird oder native verwendet wird? Wenn CPU emuliert, was muß ich machen/konfigurieren, damit ich native CPU-Nutzung bekomme ?
VMM zeigt in der VM-Settings Übersicht den Hypervisor an. Im Startbefehl (im Systemmonitor) gibt es den Parameter "accel". Bei beiden sollte KVM stehen.
Richard
Hallo In den Settings steht "hypervisor=kvm" und auch im den Aufrufparametern (s.o. "ps alx) Ich habe jetzt zusätzlich mit einem anderen (BOINC-)Programm getestet und die ist die Geschwindigkeit "normal", d.g. ca. 5% langsamer als native ausgeführt. Warum das andere Programm so lange braucht, muß ich wohl beim Programm nachforschen, am qemu scheint es nicht zu liegen. Jürgen
participants (2)
-
Jürgen Hochwald
-
Richard Hafenscher