Synology VMM | Windows VM mit starker CPU Auslastung durch “System interrupts”

Ich muss hier einen Fall von Layer-8 Ignoranz schildern – mit etwas Vorgeschichte.

Alles Cloud …

Vor vier Monaten erzählte mir ein Freund, dass er eine Praxis übernehmen würde – mit einer Softwarelösung, die zu 100% in der Cloud läuft. „Wir brauchen nur ein paar Tablets und Internet, da kannst du mir vielleicht helfen?“ Wo fängt man da an …

  1. Es gab PCs, Baujahr 2018 oder 2019 – so genau wusste das niemand. Man hielt sie für „relativ neu“. OK – relativ. Und mit <Panikmodus>Festplatten</Panikmodus>
  2. Ein neues, dreidimensionales Röntgengerät musste her. Die Daten sollten direkt in die Cloud gespeichert werden – allerdings braucht es dazwischen ein „Laufwerk“ als Cloud-Cache
  3. Dazu kamen diverse Konnektoren – wofür auch immer

Die Informationen sickerten nach und nach durch. Ein vollständiges Bild hatten wir erst 14 Tage vor der Wiedereröffnung der Praxis.

Where the rubber meets the road …

Für Punkt 1 konnte ich mit etwas Überzeugungsarbeit ein Synology-NAS (RS822+) ins Spiel bringen. Dank Synology Directory Server gab es eine kleine Domäne, über die sich die PCs (nun mit SSDs ausgestattet) verwalten ließen.

Mit maximalem RAM ausgestattet, liefen darauf zwei bis drei kleine VMs. Der AMD Ryzen 1500B ist zwar kein Kraftpaket, aber für kleine Aufgaben reicht’s. Die Bereitstellung der VMs übernahm der Synology Virtual Machine Manager (VMM), also QEMU/KVM so mehr oder weniger.

Zwei Windows-VMs wurden eingerichtet:

  • Eine mit 4 vCPUs, 16 GB RAM und 2 TB Speicher für den Cloud-Cache (Punkt 2).
  • Eine weitere mit 10 GB RAM für einen Healthconnector.

Nach einigen Optimierungen liefen die VMs stabil und flott – auch dank SSD-Cache im NAS.

Punkt 3: Die Konnektoren

Der erste Konnektor ließ sich problemlos installieren. Kein Thema. Dann kam der RISE-Konnektor – und wie so oft: ein Dienstleister, der sich als besonders „resistent“ erwies.

Natürlich, der Dienstleister ist immer der andere … Winking smile

Die „Anforderung“, in der virtuellen Windows-VM (QEMU/KVM-basiert) das „Hyper-V Networking“ zu installieren, war für mich nicht nachvollziehbar. Angeblich sei das für WireGuard-VPN nötig?! Das Eventlog zeigte jedenfalls mehr als nur „Hyper-V Networking“ – vielleicht hatte er sich jemand verklickt.

image

Mir ist kein explizites „Hyper-V Networking“ bekannt. Windows bietet auf dem Client die folgenden Features an:

Vor dem Reboot sah der Taskmanager noch wie folgt aus …

image

Die Konsequenzen waren aber dem Reboot zu sehen und verheerend.

image

Der Screenshot zeigt nicht das gesamte Ausmaß des Desasters, die virtuellen CPUs liefen über weite Strecken auf 100% und ein Arbeiten war nicht mehr möglich. Weder RDP-Sitzungen noch TeamViewer funktionierten. Auch mehr vCPUs halfen nicht wesentlich.

Ich konnte die Last auf etwa 40 % drücken – aber die VM blieb träge. Sehr träge.

image

Sobald die Hyper-V-Rolle innerhalb des Windows 11-Gastsystems installiert ist, beginnt sich die virtuelle Maschine selbst wie ein Hyper-V-Host zu verhalten (oder versucht es zumindest). Dies verändert die Art und Weise, wie Windows mit der zugrunde liegenden Hardware und der Virtualisierungsschicht interagiert und führt häufig zu:

  • Konflikten bei verschachtelter Virtualisierung: Hyper-V innerhalb einer VM (Nested Virtualization) kann mit den eigenen Virtualisierungsmechanismen von QEMU/KVM interferieren.
  • Problemen bei der Interrupt-Verarbeitung: Das System kann auf andere Taktquellen oder Interrupt-Modelle umschalten (z. B. hyperv_clocksource_tsc_page vs. tsc), was zu übermäßigen System-Interrupts und einer verschlechterten Leistung führen kann
  • Verändertes Timer- und Polling-Verhalten: Hyper-V kann beeinflussen, wie das Gastbetriebssystem Leerlaufzustände und Interrupts behandelt – insbesondere, wenn Funktionen wie halt_poll nicht abgestimmt sind

Ein zeitaufwändig erstellter Dump des Systemprozesses (PID 4) zeigte massenhaft IRPs – ein weiteres Indiz für Probleme durch Hypervisor-Verschachtelung.

image

Hyper-V musste also wieder runter

Final blieb nur die Möglichkeit Hyper-V zu entfernen, was dem Dienstleister nicht wirklich gefallen hat. Die Lösung war die Installation des RISE-Konnektors auf einen der PCs in der Praxis, wobei hier auf das Hinzufügen der Hyper-V Rolle verzichtet wurde?!Wir fragen nicht und nehmen die Alternative mal einfach so hin Sick smile

Die beiden folgenden PowerShell Aufrufe zeigten halfen das System dann anschließend zu korrigieren und in einen nutzbaren Zustand zu versetzen:

# Anzeigen aller aktivierten (enabled) Features in Windows 11
Get-WindowsOptionalFeature -Online | Where-Object {$_.State -eq "Enabled"}
# Deaktivieren der Hyper-V Rolle + manuellem Reboot hinterher
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

Nach dem Neustart lief der RISE-Konnektor mit ~10 % Systemlast. Der Dienstleister war da schon am nächsten PC – und ich hatte ehrlich gesagt keine Lust mehr. Hauptsache, die VM lief wieder.

So, genügend Angry smile – einfach aufpassen und schauen, was “Fachkräfte” auf den Systemen so installieren und sich die Systemanforderungen im Vorfeld schriftlich per Mail besorgen.

Enjoy it, b!

Windows 11 | Change what opening the lid does

In Windows gibt es seit langem die Möglichkeit, ein Verhalten beim Schließen des Bildschirms (bei Notebooks) zu konfigurieren. Die Möglichkeiten sind sind im Control Panel / Power Options/ Change what closing the lid does vorhanden.

image

image

Nun wäre es natürlich sinnvoll, wenn es auch die Möglichkeit gäbe, das Verhalten beim Öffnen des Displays zu beeinflussen.

Da ich selbst ein Freund des Surface Laptop Studio bin, habe ich hier einen Punkt der mich wirklich stört. Wenn ich ein bisschen Yoga auf dem Display machen will, dann geht das Ding meistens an und das ist ärgerlich, vor allem wenn Hello mich begrüßt hat und ich dann aus Versehen eine Reihe von Fenstern, Apps und so weiter öffne, schließe oder was auch immer damit mache.

Aber mit ein wenig Akrobatik in der Eingabeaufforderung kann man auch dieses Verhalten ändern.

:: Add Lid open action to the current Powerplan - ## THE POWER OF DARKNESS ##
powercfg -attributes SUB_BUTTONS 99ff10e7-23b1-4c07-a9d1-5c3206d741b4
:: Query the Powerplan if Lid-Option is there
powercfg /q | findstr /i "99ff10e7"
 :: Set Lid open action to 0
REM powercfg -SETACVALUEINDEX {guidPlan-New} {guidSubgroup-Display} {guidPowerSetting-Brightness} 0
REM powercfg -SETACVALUEINDEX {guidPlan-New} {guidSubgroup-Display} {guidPowerSetting-Brightness} 0

powercfg -SETACVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 99ff10e7-23b1-4c07-a9d1-5c3206d741b4 0
powercfg -SETDCVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 99ff10e7-23b1-4c07-a9d1-5c3206d741b4 0

Vor dem Setzen des Wertes sieht die Einstellung wie folgt aus.

image

Danach stehen die beiden Werte der Power Settings auf 0:

  • Current AC Power Setting Index: 0x00000000
  • Current DC Power Setting Index: 0x00000000

image

Hier noch die Befehle für die Eingabeaufforderung, welche möglicherweise angepasst werden müssen. Dieser Artikel ist dabei eine große Hilfe.

Enjoy it, b!

Windows 11 | Erste Anpassungen

Mit Windows 11 hat Microsoft der Welt auch ein neues Design der Benutzeroberfläche geschenkt, von dem ich sagen kann das es mir sehr gefällt. Nur damit keine Missverständnisse aufkommen, in die professionelle Variante von Windows bin ich relativ spät, mit NT 3.51 eingestiegen. Davor war IBM OS/2 mein favorisiertes OS auf dem PC und Linux auf dem Server.

Meine aktuellen Einstellungen für das Startmenü und die Taskleiste will ich Euch hiermit vorstellen und die eine oder andere Erläuterung dazu geben. Darüber hinaus habe ich die Screenshots in Deutsch gemacht, da die meisten Leser hier wohl ein Windows 11 mit DE haben.

Personalisierung Start(menü)

Hier muss ich gleich zugeben, dass ich das Startmenü lasse, wo es ist. Erinnert es mich doch ein wenig an Elementary oder ChromeOS.

Beginnen wir mit dem Menü selbst.

Untitled - 4

Hier habe ich erst einmal alle Apps deinstalliert oder zumindest vom Startmenü gelöst die ich nicht brauche.

Reihe 1 wurde dann mit Office Apps bestückt und Reihe 2 mit Anwendungen, die ich sonst häufiger verwende.

Windows 11 bietet die Möglichkeit unten neben dem Netzschalter Elemente einzublenden, die von dort gestartet werden können (grüner Kasten im Bild oben).

Windows 11 Startmenü

Das sind bei mir die Einstellungen (formerly known as Systemsteuerung), die Persönlichen Ordner und der Datei-Explorer (Windows Explorer). Durch das Öffnen des Persönlichen Ordner sind danach alle weiteren Ordner der Auswahl wie Musik, Downloads sichtbar und damit schnell im Zugriff.

Wichtiger ist mir aber der Datei-Explorer, dieser mit der Einstellung Datei-Explorer öffnen für: Dieser PC zeigt dann sofort die Übersicht all meiner Ordner und Laufwerke inklusive der UNC-Pfade des Servers (NAS).

Untitled - 2

Natürlich zeigt der Datei-Explorer bei mir alle Dateiendungen an, auch wenn diese bekannt sind sowie versteckte Dateien. Diese Einstellungen sind im Detail einen weiteren Blog wert, hängen aber auch stark vom eigenen Nutzerverhalten ab.

Personalisierung Taskleiste

Hier ging es mir ebenfalls um die Darstellung der wichtigen Funktionen. Darum habe ich die Suche, Widgets und den Chat ausgeblendet. Die Suche funktioniert übrigens trotzdem, einfach die Windows-Taste drücken und den Suchbegriff eintippen. Dazu brauche ich kein Icon.

Untitled - 1

Die Symbole in der Taskleistenecke habe ich ebenfalls bis auf das Stiftmenü auf meinem Surface Pro reduziert, auf einem normalen PC kann man diese Option ebenfalls abschalten.

image

Abschließend habe ich auf die Taskleiste noch ein paar Apps wie den Edge- und Brave-Browser, OneNote und PowerShell gepinnt. Damit müssen die sich nicht um einen Platz im Startmenü prügeln.

Enjoy it, b!