QEMU/KVM HB-RF-USB hohe CPU Last

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

hmpatman
Beiträge: 33
Registriert: 13.04.2016, 19:06
Hat sich bedankt: 2 Mal

QEMU/KVM HB-RF-USB hohe CPU Last

Beitrag von hmpatman » 19.04.2020, 12:45

Hallo!

Ich spiele mich jetzt schon den zweiten Tag mit der RaspberryMatic innerhalb einer Qemu 4.0/KVM Umgebung, nachdem ich meine HB-RF-USB Platine und das RPI-RF-MOD bekommen habe. Installation von RaspberryMatic-3.51.6.20200229 lief soweit problemlos, nach ein paar Problemen konnte ich auch das Backup einspielen und meine gesamte Anlage lief wieder.

Was mich aber stört ist, ich habe sobald das RPI-RF-MOD initialisiert ist (LED gelb) so um die 15-25% CPU Last am Host (nicht in der VM) und sobald die Dienste laufen (LED blau) so um die 60%. Ich hab daher nochmal von vorne (ohne Einspielen des Backups von der alten CCU) begonnen und da ergibt sich das gleiche Bild. Weder ein Wechsel des Hosts, noch mit debmatic, oder USB 2.0 (Tipp aus viewtopic.php?f=81&t=53418) hat geholfen.

Die VM zeigt nie signifikant Last an, während der Host (VM 1 CPU) mit den Kernel Modulen bei den 15-25% und mit den Diensten bei 60% lieft. Ich vermute daher es liegt an der USB Virtualisierung, obwohl ich das Gerät direkt vom Host gemapt habe. PCI pass-through geht leider nicht, weil am selben USB Root noch andere Geräte hängen, die der Host braucht und interessanter Weise alle Anschlüsse außen am selben Root hängen.

Gibt es zu dem Problem noch andere Lösungsansätze, die ich bis jetzt nicht gefunden habe?
Ich überlege schon bei meiner alten CCU2 zu bleiben, von allen Programmen zu entlasten und als Funkgateway für iobroker oder home assistant einzusetzen. :-(

Danke!

Benutzeravatar
jmaus
Beiträge: 5796
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Hat sich bedankt: 14 Mal
Danksagung erhalten: 288 Mal
Kontaktdaten:

Re: QEMU/KVM HB-RF-USB hohe CPU Last

Beitrag von jmaus » 19.04.2020, 13:10

Die erste Frage die ich dabei hätte wäre natürlich welche konkrete QEmu/KVM Lösung du da verwendest bzw. unter welchem Betriebsystem und Hardware dein Host so läuft.
RaspberryMatic 3.51.6.20200420 @ ESXi mit ~170 HomeMatic Geräten + ioBroker – GitHubGitHub Sponsors / PayPalTwitter

hmpatman
Beiträge: 33
Registriert: 13.04.2016, 19:06
Hat sich bedankt: 2 Mal

Re: QEMU/KVM HB-RF-USB hohe CPU Last

Beitrag von hmpatman » 19.04.2020, 15:47

Hallo Jens!
jmaus hat geschrieben:
19.04.2020, 13:10
Die erste Frage die ich dabei hätte wäre natürlich welche konkrete QEmu/KVM Lösung du da verwendest bzw. unter welchem Betriebsystem und Hardware dein Host so läuft.
Das erste System ist ein Intel(R) Celeron(R) N4100 CPU @ 1.10GHz, Debian 10, Kernel 5.4.0-4-amd64 #1 SMP Debian 5.4.19-1 (2020-02-13) x86_64, IOMMU aktiv, es läuft qemu-kvm 4.2-3 bzw. libvirt-daemon 6.0.0-4
Das zweite System ein Intel(R) Core(TM) i7-4770T CPU @ 2.50GHz, Ubuntu 19.10, Kernel 5.3.0-46-generic #38-Ubuntu SMP
IOMMU aktiv, es läuft qemu-kvm 4.0+dfsg-0ubuntu9.4 bzw. libvirt-daemon 5.4.0-0ubuntu5.2

Verhalten ist soweit ident.

Sind das die Info, die du brauchst?

Benutzeravatar
jmaus
Beiträge: 5796
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Hat sich bedankt: 14 Mal
Danksagung erhalten: 288 Mal
Kontaktdaten:

Re: QEMU/KVM HB-RF-USB hohe CPU Last

Beitrag von jmaus » 19.04.2020, 16:02

Die Info war es, ja. Allerdings hilft das auch nicht wirklich weiter. Ein ähnliches Verhalten kann ich unter Proxmox oder vmWare ESXi nicht beobachten und Proxmox ist zumindest auch QEmu basierend soweit ich weiss. Und wie verhalten sich andere VMs unter QEmu bei dir? Kann mir also nicht erklären wieso du konstante 60% CPU Auslastung hast wenn du RaspberryMatic mit einem HB-RF-USB in Betrieb nimmst. Ich würde ja einfach dazu raten Proxmox einzusetzen, aber das willst du vielleicht ja nicht wie ich vermute.
RaspberryMatic 3.51.6.20200420 @ ESXi mit ~170 HomeMatic Geräten + ioBroker – GitHubGitHub Sponsors / PayPalTwitter

hmpatman
Beiträge: 33
Registriert: 13.04.2016, 19:06
Hat sich bedankt: 2 Mal

Re: QEMU/KVM HB-RF-USB hohe CPU Last

Beitrag von hmpatman » 19.04.2020, 16:30

jmaus hat geschrieben:
19.04.2020, 16:02
Proxmox ist zumindest auch QEmu basierend soweit ich weiss.
Ja, soweit ich weiß, ist mein Setup Proxmox (sehr) ähnlich, nur die Admin-Oberfläche habe ich nicht, ich wollte Speicher sparen.
jmaus hat geschrieben:
19.04.2020, 16:02
Und wie verhalten sich andere VMs unter QEmu bei dir?
Keinerlei Auffälligkeiten, wenn ich die RaspberryMatic ohne dem HB-RF-USB starte, verhält sie sich auch ganz zivilisiert. Bei der Debmatic kann ich die Last auch durch laden der Kernel Module (steigt auf 15-25%) und starten der debmatic (steigt auf 60%) erhöhen bzw. auch wieder senken, wenn ich das rückgängig mache. Hier noch die Ansicht vom System 2 mit der RaspberryMatic:
Bildschirmfoto von 2020-04-19 16-14-57.png
jmaus hat geschrieben:
19.04.2020, 16:02
Ich würde ja einfach dazu raten Proxmox einzusetzen, aber das willst du vielleicht ja nicht wie ich vermute.
Puh, das würde ein gröberer Umbau werden und ich hab gerade keinen Rechner übrig um zu testen ob das bei mir dann auch wirklich geht. :(

Jumako
Beiträge: 8
Registriert: 20.04.2020, 07:16
Hat sich bedankt: 1 Mal

Re: QEMU/KVM HB-RF-USB hohe CPU Last

Beitrag von Jumako » 20.04.2020, 07:48

Hallo zusammen,

das o.g. Verhalten bzgl. USB habe ich ebenfalls auf meinen Systemen beobachtet, bei mir mit dem RF-USB-Stick.

Ich konnte es auf einem Intel NUC (8th Gen. Core i3) und auf einem Laptop (Core i5) nachstellen. System ist immer Debian Buster, sowohl mit dem Standard-Kernel, als auch mit dem aktuellen Kernel aus den Backports. Alles via Qemu & KVM (mit und ohne Virt-Manager).

Aus Verzweiflung dann auch ein System mit Debian Testing aufgesetzt, ebenfalls mit Qemu & KVM: das gleiche Ergebnis. Getestet mit 32bit und 64bit.

Die virtuelle Maschine zeigt selbst kaum Last, das Host-System allerdings eine hohe Auslastung (zw. 35-45%). Interessanter Weise sind es immer kurze Peaks, abwechselnd über alle verfügbaren Cores. Das System wird dabei nicht besonders heiß, es ist ein abwechselndes "Trommelfeuer" auf die einzelnen Cores.

Ohne den USB-Stick ist das Verhalten sofort wieder normal, die Peaks sind weg.

Ich habe diverse Hinweise im Netz gefunden und mit einigen Parametern gespielt (Settings für I/O, Chipsatz, Qemu, USB 2.0/3.0), alles ohne Erfolg.

Gestern habe ich zum Testen Proxmox auf einem Laptop installiert und konnte auch hier eine Erhöhung der CPU-Last feststellen, allerdings diesmal "nur" auf 20-25% Auslastung des Hosts.

Einen Versuch mache ich heute noch: Ich habe ein bis dato nicht genutztes System mit einem aktuellen i3, da ist gestern Abend ein Proxmox aufgespielt worden, Standard-Installation, heute bringe ich eine virt. Maschine zum Laufen. Ich erwarte allerdings nicht wirklich ein anderes Verhalten.

"Irgendetwas" mit dem Durchreichen des USB-Devices erzeugt diese Last (kurze Peaks, abwechselnd auf allen Cores). Vielleicht ist dieses Verhalten auch normal, das System muss ja "arbeiten" und die Kommunikation zwischen Host und virt. Maschine aufrechterhalten (Timing?), das System wird nicht "heiß".

Viele Grüße
Jürgen

deimos
Beiträge: 3534
Registriert: 20.06.2017, 10:38
Wohnort: Leimersheim
Hat sich bedankt: 20 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: QEMU/KVM HB-RF-USB hohe CPU Last

Beitrag von deimos » 20.04.2020, 09:53

Hi,

ich habe das vor einiger Zeit mal analysiert:
Zum einem kostet das Durchreichen eines USB Geräts in QEMU einiges an CPU, vor allem wenn es über einen emulierten USB3 Controller eingehängt wird. Da sind die 15-25% CPU auf einem N4100 durchaus realistisch. Das sieht man aber nicht nur bei der HB-RF-USB, sondern z.B. auch bei einem einfach nur angeschlossenem, aber nicht genutzten USB-UART-Adapter.
Daneben konnte ich sehen, dass der multimacd auf x86 mit einem deutlichen geringerem Timeout pollt. Auf ARM ist es AFAIR 10ms, auf x86 nur 1ms. Dadurch kommt es zu den 60% CPU. Allerdings muss man auch sagen, dass ein N4100 mittlerweile nicht mehr wirklich potent ist, auf einer größeren CPU relativieren sich die Zahlen ganz schnell.

Viele Grüße
Alex

Benutzeravatar
jmaus
Beiträge: 5796
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Hat sich bedankt: 14 Mal
Danksagung erhalten: 288 Mal
Kontaktdaten:

Re: QEMU/KVM HB-RF-USB hohe CPU Last

Beitrag von jmaus » 20.04.2020, 10:15

Und eins möchte ich auch noch hinzufügen: Selbst setze ich ja vmWare ESXi ein (das für private Zwecke übrigens kostenfrei zu beziehen ist) und dort sehe ich keine solch hohe CPU Belastung durch das durchreichen des HB-RF-USB bzw. eines HmIP-RFUSB. Es scheint also auch stark von der eingesetzten Virtualisierungslösung abzuhängen wie stark das Hostsystem durch die USB Durchreichung belastet wird und ggf. erledigt hier vmWare diese Aufgabe etwas optimaler als QEmu/KVM.
RaspberryMatic 3.51.6.20200420 @ ESXi mit ~170 HomeMatic Geräten + ioBroker – GitHubGitHub Sponsors / PayPalTwitter

deimos
Beiträge: 3534
Registriert: 20.06.2017, 10:38
Wohnort: Leimersheim
Hat sich bedankt: 20 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: QEMU/KVM HB-RF-USB hohe CPU Last

Beitrag von deimos » 20.04.2020, 10:21

Hi,

auch bei ESXi sind die Zahlen vergleichbar. Nur, wer betreibt ESXi schon auf einem N4100?

Viele Grüße
Alex

Benutzeravatar
jmaus
Beiträge: 5796
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Hat sich bedankt: 14 Mal
Danksagung erhalten: 288 Mal
Kontaktdaten:

Re: QEMU/KVM HB-RF-USB hohe CPU Last

Beitrag von jmaus » 20.04.2020, 11:25

deimos hat geschrieben:
20.04.2020, 10:21
Nur, wer betreibt ESXi schon auf einem N4100?
Och, du glaubst nicht. Ich hab schon Anfragen bekommen ob ich nicht auch OVA Unterstützung für ARM umsetzen könnte weil es doch jetzt vmWare ESXi offiziell für RaspberryPi gibt :D
RaspberryMatic 3.51.6.20200420 @ ESXi mit ~170 HomeMatic Geräten + ioBroker – GitHubGitHub Sponsors / PayPalTwitter

Antworten

Zurück zu „RaspberryMatic“