Jump to content

Windows VM friert sporadisch ein


Thorsten
Go to solution Solved by Thorsten,

Recommended Posts

Seit ca. 2 - 3 Wochen habe ich das Problem das meine Gaming VM (Windows 10, 10 Core, 16GB RAM und GPU RTX 3060 durchgereicht) aus unerklärlichen Gründen das Bild einfriert also Tastatur tot und Mauszeiger bewegt sich nicht mehr. Was ich dann sehe ist das alle Core der VM auf 100% Auslastung sind. Das passiert mehr mals am Tag beim Surfen beim Spielen ohne das man irgendwie erkennen könnte woran es liegt. Im Virt... Log steht nix in der Ereignisanzeige unter Windows steht nix. Bios Update des Mainboard habe ich gemacht ohne Änderungen ehr ist es mehr als weniger geworden. Im Internet finde ich zu diesem Problem auch nicht spandendes. Ich kann die VM über Force Stop benenden und wieder neu starten bis es nach paar Stunden oder Minuten wieder auftritt. Unraid arbeitet im Hintergrund auch normal weiter meine ca. 30 Docker Container laufen. Da Problem tritt auch auf wenn keine Docker Container laufen. Habe dort auch die Netzwerkkommunikation vom maclan auf ipvlan umgestellt ohne Änderungen. Hat von euch einer eine Idee. Ich habe mal meine VM Config und die Diagnose Logs beigefügt.

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='5'>
  <name>Windows-10-Gaming</name>
  <uuid>00a1381e-b86d-5b2d-c70e-ca0191e91521</uuid>
  <description>Windows 10 Gaming</description>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="Win10_Nvidia.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>16777216</memory>
  <currentMemory unit='KiB'>16777216</currentMemory>
  <memoryBacking>
    <nosharepages/>
    <source type='memfd'/>
    <access mode='shared'/>
  </memoryBacking>
  <vcpu placement='static'>10</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='3'/>
    <vcpupin vcpu='1' cpuset='15'/>
    <vcpupin vcpu='2' cpuset='4'/>
    <vcpupin vcpu='3' cpuset='16'/>
    <vcpupin vcpu='4' cpuset='5'/>
    <vcpupin vcpu='5' cpuset='17'/>
    <vcpupin vcpu='6' cpuset='6'/>
    <vcpupin vcpu='7' cpuset='18'/>
    <vcpupin vcpu='8' cpuset='7'/>
    <vcpupin vcpu='9' cpuset='19'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-5.1'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/00a1381e-b86d-5b2d-c70e-ca0191e91521_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'>
    <topology sockets='1' dies='1' cores='5' threads='2'/>
    <cache mode='passthrough'/>
    <feature policy='require' name='topoext'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='hypervclock' present='yes'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/VirtIO/virtio-win-0.1.215.iso' index='2'/>
      <backingStore/>
      <target dev='hdb' bus='sata'/>
      <readonly/>
      <alias name='sata0-0-1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source dev='/dev/disk/by-id/ata-WDC_WDS100T1R0A-68A4W0_203765444007' index='1'/>
      <backingStore/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <alias name='sata0-0-2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x8'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x9'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0xa'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0xb'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0xc'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0xd'/>
      <alias name='pci.6'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
    </controller>
    <controller type='pci' index='7' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='7' port='0xe'/>
      <alias name='pci.7'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/>
    </controller>
    <controller type='pci' index='8' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='8' port='0xf'/>
      <alias name='pci.8'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x7'/>
    </controller>
    <controller type='pci' index='9' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='9' port='0x10'/>
      <alias name='pci.9'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </controller>
    <controller type='pci' index='10' model='pcie-to-pci-bridge'>
      <model name='pcie-pci-bridge'/>
      <alias name='pci.10'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <filesystem type='mount' accessmode='passthrough'>
      <driver type='virtiofs' queue='1024'/>
      <binary path='/usr/libexec/virtiofsd' xattr='on'>
        <cache mode='always'/>
        <sandbox mode='chroot'/>
      </binary>
      <source dir='/mnt/user/'/>
      <target dir='shares'/>
      <alias name='fs0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </filesystem>
    <interface type='bridge'>
      <mac address='52:54:00:e2:8c:b7'/>
      <source bridge='br0'/>
      <target dev='vnet4'/>
      <model type='virtio-net'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-5-Windows-10-Gaming/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='4'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <audio id='1' type='none'/>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0e' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <rom file='/mnt/user/isos/Bios/Gainward.RTX3060.12288.210510.rom'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0e' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x1532'/>
        <product id='0x0084'/>
        <address bus='5' device='4'/>
      </source>
      <alias name='hostdev2'/>
      <address type='usb' bus='0' port='1'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x1b1c'/>
        <product id='0x0a51'/>
        <address bus='5' device='5'/>
      </source>
      <alias name='hostdev3'/>
      <address type='usb' bus='0' port='2'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x1b1c'/>
        <product id='0x1b2d'/>
        <address bus='5' device='2'/>
      </source>
      <alias name='hostdev4'/>
      <address type='usb' bus='0' port='3'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
</domain>

 

Diagnose Logs:

thetwist-diagnostics-20230928-1056.zip

 

Log von der VM

LogFile VM.txt

 

Ich bin mit dem Latein irgendwie am ende weil ich kein Schema erkennen kann. Ich nutze nun Unraid seid ca. 2 Jahren und hatte vorher keine Problem gehabt. Es gabe eine Konfig Änderung meiner Hardware:

 

Ursprüngliche Hardware:

AMD Ryzen 3900X

Asrock x470 Taichi Ultimate

Palit 1650Super

 

Neue Hardware:

Ryzen 9 5900X

Arsrock x570 Taichi

Gainward Ghost RTX 3060 12GB LHR

 

Das Mainboard wurde so gewählt das ich meinen alten Speicher weiter verwenden kann. 64 GB Kingston ECC.

Da es jetzt keine Super neue Hardware ist sollte diese eingendlich Problemlos unterstützt werden.

 

Vielleicht hat ja jemand von Euch noch eine Idee.

 

Viele Grüße

Thorsten

Link to comment

Nachtrag im Proxmox Forum berichten Sie von ähnlichen Problemen. Was mit einem Kernel Fix scheinbar gelöst wurde.

 

https://forum.proxmox.com/threads/vms-freeze-with-100-cpu.127459/page-11

 

Tested the last 10 days with PVE 8.0.4 with kernel 6.2.16-11-bpo11-pve and VMs did not freeze.

Yes, the kernel with the fix for this has been rolled out to the enterprise repository for both Proxmox VE 7 and Proxmox VE 8, last week.

Link to comment
9 hours ago, Thorsten said:

Da es jetzt keine Super neue Hardware ist sollte diese eingendlich Problemlos unterstützt werden.

 

 

9 hours ago, Thorsten said:

Ryzen 9 5900X

 

 

wie du eventuell auch bereits in diversen Foren gesehen hast ist AMD und Gaming und Passthrough (leider) oft problematisch ...

daher streiche ich jetzt mal das "problemlos" ...

 

8 hours ago, Thorsten said:

Tested the last 10 days with PVE 8.0.4 with kernel 6.2.16-11-bpo11-pve and VMs did not freeze.

 

Unraid läuft ja aktuell auf version 6.1.49 (CVE-2023-20593), vielleicht wenn 6.2.16++ kommt ...

 

ansonsten bleibt bei diesen sporadischen locks nur, alles an Energiesparmaßnahmen mal abschalten (BIOS, powertop, ...) und schauen ob da eventuell was passiert, dann noch ... ist rBar (above 4g ...) aktiviert ... usw usw usw ...

Link to comment

Okay das mit AMD es oft Probleme gibt habe ich auch gelesen.  Da meine vorherige Konfiguration ca. 2 Jahre nie Probleme gemacht hat, ist es ein Zusammenspiel aus vielen und man kann Glück oder pech haben. Aktuell probieren ich folgenden Hinweis aus : https://forums.unraid.net/topic/129394-windows-10-vm-completely-freezing-after-6111-upgrade/

 

Bisher läuft die VM ohne Probleme seit ca. 2 Std was aber nichts heißt. In dieser Zeit habe ich alles gemacht vom Internet Surfen und Gaming sowie Videos geschaut.

 

Also ich habe aus der VM XML folgendes herraus konfiguriert:

 

<filesystem type='mount' accessmode='passthrough'>
      <driver type='virtiofs' queue='1024'/>
      <binary path='/usr/libexec/virtiofsd' xattr='on'>
        <cache mode='always'/>
        <sandbox mode='chroot'/>
      </binary>
      <source dir='/mnt/user/'/>
      <target dir='shares'/>
      <alias name='fs0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</filesystem>
    

 

Und die GPU läuft ohne vBios da scheinbar nicht benötigt wird. Die VM bootet ohne Problem es wird alles erkannt und Spielen geht auch.

Werde weiter Test und schauen ob die VM nochmal einfriert oder nicht ( Daumen sind gedrückt 🙂 )

 

Viele Grüße

Thorsten

Edited by Thorsten
  • Like 1
Link to comment

So seit gestern Abend läuft der Parity Sync benötigt noch ca. 8Std.  .... Die Docker Container laufen wieder und seit ca. 6 Uhr läuft auch die Windows 10 VM ohne Probleme.... Hoffe das es so bleibt. Eine Entwarnung für mich kann ich allerdings erst nach ca. 24h geben da die VM mal nach Minuten oder nach Stunden eingefroren ist. 

 

Link to comment

Naja ich wollte die Option mal ausprobieren..... Ob und wie es funktioniert mit Windows https://virtio-fs.gitlab.io/howto-windows.html

 

grafik.png.7bdb148e5749f731ece03d0b91157d0e.png

 

Was ich aber nicht mehr gesehen habe war folgenden Kommentare oder habe diese überlesen.

 

Quote

Posting here for visibility since it seems like a few people are having issues with VirtioFS and Windows VMs...

 

It looks like the inclusion of virtiofs configuration in the VM XML may result in Windows 10 VM freezes. When this occurs the VM is completely unresponsive and frozen, there is nothing useful in any logs, and all CPUs allocated to the VM become pegged at 100%. Usually this occurs within 30 minutes to 2 hours of the VM being started.

 

I've confirmed that disabling the VirioFS service in windows has no impact on the freezing, nor does I/O load seem to have any impact. Not sure if it matters, but I initially had 32GB of the 64GB of memory I have allocated to the VM.

 

Und leider weiß ich auch nicht mehr wann ich diese Umstellung gemacht habe aber scheinbar zu dem Zeitpunkt wo ich auch die Hardware gewechselt habe. Aber seitdem ich diese Option wieder deaktiviert habe ist die VM nicht mehr eingefroren mein System bzw. die Windows 10 VM läuft seitdem Problemlos....

 

Link to comment
6 minutes ago, Thorsten said:

Und leider weiß ich auch nicht mehr wann ich diese Umstellung gemacht habe aber scheinbar zu dem Zeitpunkt wo ich auch die Hardware gewechselt habe. Aber seitdem ich diese Option wieder deaktiviert habe ist die VM nicht mehr eingefroren mein System bzw. die Windows 10 VM läuft seitdem Problemlos....

 

 

6 minutes ago, Thorsten said:

Was ich aber nicht mehr gesehen habe war folgenden Kommentare oder habe diese überlesen.

 

 

;) gut, das funktioniert nicht mit Windows VM's ... daher schonmal gut dass dies jetzt ex ist ... dann hoffen wir mal dass das hilft, auch wenn dieser Mount normal nicht ne VM zum Freeze bringt ... hilfreich ist es trotzdem nicht ;)

 

merke dir ggf. deine Änderungen auch ... auch wenn es manchmal nicht nach einem direkten Zusammenhang aussieht ... oder notiere Sie dir und reverte wenn Probleme auftauchen ... dann sparst du dir einiges an Suche ...

  • Like 1
Link to comment
53 minutes ago, alturismo said:

merke dir ggf. deine Änderungen auch ... auch wenn es manchmal nicht nach einem direkten Zusammenhang aussieht ... oder notiere Sie dir und reverte wenn Probleme auftauchen ... dann sparst du dir einiges an Suche ...

 

Recht hast Du ... ich finde es nur witzig .... ich bin Informatiker und in der Qualitätsicherung tätig und die erste Aussage bei Problemen z.B. mit der Performance oder bei Fehlern ist, wir haben nichts geändert und was ist es dann meistens .... irgendwelche nicht dokumentierten Änderungen ....  🙂

 

Aber vielleicht hilft es ja anderen die vielleicht das gleiche Problem haben um schnell eine Lösung zu finden ...

Abschließend werde ich beschreiben was scheinbar mein Problem war und diesen Eintrag auf "Solved" setzen

Edited by Thorsten
  • Like 1
Link to comment
  • Solution

Hallo zusammen,

 

hier eine kurze Zusammenfassung zu meinem Problem. Meine Windows 10 VM ist mehrmals am Tag eingefroren. Die CPU der zugewiesenen Cores gingen auf 100% Auslastung. Die VM konnte nur über die Option "Force Stop" beendet werden. Nach einem Reboot der VM trat der Fehler nach ein paar Minuten oder ein paar Stunden erneut auf.

In allen Logs war kein Fehler oder Ursachen zuerkennen.

 

Die Ursache war die folgende aktivierte Option in meiner Windows 10 VM Konfiguration.

 

grafik.png.50b8e77f221c17df7d549d9ffdba2883.png

 

<filesystem type='mount' accessmode='passthrough'>
      <driver type='virtiofs' queue='1024'/>
      <binary path='/usr/libexec/virtiofsd' xattr='on'>
        <cache mode='always'/>
        <sandbox mode='chroot'/>
      </binary>
      <source dir='/mnt/user/'/>
      <target dir='shares'/>
      <alias name='fs0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</filesystem>
    

 

Seitdem ich die Einstellung aus der VM Konfiguration entfernt habe läuft meine Windows 10 VM ohne Porbleme seit nunmehr 18 Std durch.

 

 

  • Like 1
Link to comment

Tja was soll ich sagen leider ist mein Problem wieder aufgetreten. Seit heute morgen um 9 Uhr lief meine VM um 11:42 ist diese stehn geblieben....alle CPU-Cores der VM sind wieder auf 100% Auslastung gegangen. Seit dem ich die Konfiguration wie im vorherigen Post geschreiben geändert habe ist das Problem seltener geworden (in den letzten ca 24h nur 1mal) aber vollständig weg ist es nicht. In den LogFiles ist wieder nix zu sehen.

 

Unraid läuft normal weiter es betrifft nur die VM

 

grafik.thumb.png.e168d53fcf290371e3a5664ffb3377d1.png

Link to comment
39 minutes ago, Thorsten said:

Unraid läuft normal weiter es betrifft nur die VM

 

das habe ich mir (leider) gedacht ... da der mount normal nichts mit einem freeze ....

 

wie erwähnt, AMD Kombi ... bleibt jetzt ggf. noch alle Energiesparmaßahmen zu deaktivieren sofern da etwas gemacht wurde ...

 

du könntest jetzt noch zum Cross Test ne neue VM aufsetzen ... mit anderen Parametern ...

 

BIOS legacy (seabios) anstelle uefi (ovmf)

Chipsatz i440 anstelle q35

...

 

kommen ein paar VM's zusammen zum Test ...

 

ansonsten bleibt nicht viel da du keine Fehler siehst und keinen Auslöser hast ... sorry ... aber nach aktuellem Stand Intel / Nvidia beim nächstenn Upgrade ... leider die einzig zuverlässige Kombi wo normal immer geht ...

Link to comment
  • 11 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...