Jump to content

[SOLVED] Windows VM stockt bei grosser SSD/HDD Belastung


swiss01

Recommended Posts

Hallo miteinander 

 

Habe bis jetzt leider nichts zu diesem Thema gefunden. 

 

Ich habe eine Windows VM welche zwei SSD, eine HDD, die Graka und eine separate USB/PCI Karte per passthrough angeschlossen sind. 

Dazu hat die VM 16Gb Ram und 8 CPU Kerne des Ryzen 7 3700x zugewiesen. 

 

Im Prinzipe lauft alles super. Ich kann mit der VM gut Zocken und auch sonst lauft eigentlich alles gut AUSSER... wenn ich was schnelles Downloade (Internet ist 1Gb/s up und down), was entpacke, ein Spielupdate herunterlade oder installiere, Daten verschiebe etc. Eigentlich immer dann, wenn die SSD bzw. HDD ausgelastet werden. Dann Stockt das ganze Windows. alles bleibt hängen ausser die Maus. die kann ich immer noch bewegen. Das Stocken geht dann so ca. 1-4 Sekunden dann lauft alles wider normal. Dies kommt dann so ca. alle 10sek auftreten, bis die Speichermedien nicht mehr all zu stark belasten werden. 

 

Kennt jemand von euch dieses Problem? 

 

 

Link to comment

Manche schleifen eine komplette SSD an ihre VM durch. Aber meiner Ansicht nach reicht es Unraids SHFS zu umgehen, was ich hier für Plex beschrieben habe:

https://forums.unraid.net/topic/88999-unraid-tweaks-for-media-server-performance/?tab=comments#comment-898167

 

Du musst also den VM Dienst stoppen und musst mal alle SSD Pfade von /mnt/user/ in /mnt/cache ändern. Die VM läuft dann direkt über die SSD und fragt nicht immer erst bei Unraid nach "wo liegt die VM, auf der SSD oder dem Array?". Es gibt da ein paar Dinge zu beachten, die ich aber im Link beschrieben habe. Bei Fragen, frag einfach ;)

 

Link to comment

Danke mgutt für deine Antwort. 

 

Ich habe die Speichermedien ganz durch gereicht. Daher verwundert es mich, dass ich Probleme habe. 

 

 <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source dev='/dev/disk/by-id/nvme-Samsung_SSD_960_EVO_500GB_S3EUNX0HC11882M'/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source dev='/dev/disk/by-id/ata-WDC_WD20EARX-00PASB0_WD-WCAZAA508087'/>
      <target dev='hdd' bus='sata'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source dev='/dev/disk/by-id/ata-Samsung_SSD_840_Series_S19MNEAD424406Z'/>
      <target dev='hde' bus='sata'/>
      <address type='drive' controller='0' bus='0' target='0' unit='4'/>
    </disk>

 

Link to comment

...kann gut sein, da hier auch 1Gbps Download im Spiel ist...das ist ja an der Sättigungsgrenze der Hardware...das muss ja Schluckauf geben, wenn da ein virtuelles Device dazwischen ist und die Daten nochmal zwischen Quelle und Ziel synchronisiert/kopiert werden müssen.

 

Auch bei per qemu durchgereichten Platten muss man mit overhead rechnen.

Das Block-Device in raw ist ja ganz nett, wenn man das Filesystem inkl. Disks auf einen realen Host umziehen will...Performance kostet es aber doch.

Beispiel: Wer jetzt kein unRaid hat, aber auf einem Virtualisierer ernsthaft ein NAS bauen will reicht ja auch einen Controller an die NAS-VM durch (Proxmox, Esxi, ...).

Wer das mit Raw Disks im ESXi macht, merkt schnell was das an Performance kostet...

Link to comment
1 hour ago, Ford Prefect said:

Auch bei per qemu durchgereichten Platten muss man mit overhead rechnen.

Also reicht man stattdessen die PCI Bridge als Device durch? Wie sieht man denn welche PCI Bridge von zb einer NVME genutzt wird? Oder geht das nur, wenn man eine separate PCIe M.2 Adapterkarte installiert?

Link to comment

also am Download alleine kann es ja nicht liegen, da es auch beim entpacken von Dateien auftritt. Was ich vergessen habe zu sagen ist, dass die VM ebenfalls eine eigene Ethernet Schnittstelle durchgereicht bekommt. Soll einen besseren Ping beim Zocken geben als eine Virtuelles LAN. 

Link to comment
5 minutes ago, mgutt said:

Also reicht man stattdessen die PCI Bridge als Device durch? Wie sieht man denn welche PCI Bridge von zb einer NVME genutzt wird? Oder geht das nur, wenn man eine separate PCIe M.2 Adapterkarte installiert?

Gute Frage, wie man das sieht...habe da für eine NVME selbst noch nicht draufschauen können.

Im Prinzip sollte man es analog, wie bei einer Graka, nem HBA oder einem anderen Adapter machen können.

Wenn lt. VFIO Plugin nix weiter/kritisches für den Host selbst dabei ist, kann man es ja versuchen (vorher Backup machen ;-) )

Die Samsung SSD und die WD HDD sitzen aber am SATA-Controller, vermute ich...das wird evtl. nicht gehen...zumindest nicht portweise.

 

9 minutes ago, swiss01 said:

also am Download alleine kann es ja nicht liegen, da es auch beim entpacken von Dateien auftritt. Was ich vergessen habe zu sagen ist, dass die VM ebenfalls eine eigene Ethernet Schnittstelle durchgereicht bekommt. Soll einen besseren Ping beim Zocken geben als eine Virtuelles LAN. 

Ja, dann sollte dieser Teil i.O gehen.

Hast Du der VM mal feste CPU-Kerne (keine HT) zugeordnet?

Link to comment
4 hours ago, mgutt said:

Aber meiner Ansicht nach reicht es Unraids SHFS zu umgehen

Ich möchte dazu noch anmerken, dass libvirt ebenfalls einen SHFS Pfad nutzt:

/mnt/user/system/libvirt/libvirt.img

 

Da liegen doch die ganzen Treiber drin oder? Bitte mal ändern wie folgt und noch mal testen:

 

/mnt/cache/system/libvirt/libvirt.img

 

Natürlich vorher die VMs runterfahren und den VM Dienst stoppen.

Link to comment
1 hour ago, mgutt said:

Ich möchte dazu noch anmerken, dass libvirt ebenfalls einen SHFS Pfad nutzt:

/mnt/user/system/libvirt/libvirt.img

hat das Auswirkungen auf die anderen VM? Eine ist ein Sophos VM welche "nur" zwei Netzwerkanschlüsse durchgereicht wurde für die Firewall. 

Muss dies mal in ruhe testen, wenn meine Freundin das Internet nicht braucht. Ansonsten bekomme ich wider mal aufs Dach wenn es nicht funktioniert :D

Link to comment

So konnte den Eintrag anpassen und das ganze testen. Nach einem Schock da ich nach der Anpassung den VM Manager nicht mehr starten konnte habe ich den Server neu gestartet und nun lauft wider alles. Das Problem hat es aber nicht beseitigt. 

Getestet habe ich dies durch Kopieren diversen Daten von der HDD auf die HDD. 

Link to comment
On 1/6/2021 at 8:50 PM, swiss01 said:

Getestet habe ich dies durch Kopieren diversen Daten von der HDD auf die HDD. 

Gilt das für jedes beliebige ZIP und wenn ja, auf welche Geschwindigkeit ist das Entpacken limitiert bzw ist es überhaupt limitiert, sondern provoziert einfach nur ruckeln? Ich kenne Ruckeln und einen stehenden Mauszeiger zB als ich bei mir noch 10G ohne SMB Multichannel im Einsatz hatte. Ich konnte es klar darauf reduzieren, dass der Prozess einen CPU Kern überlastet hat. Kannst du das über den Task-Manager verifizieren? Also ist ein Kern voll ausgelastet, während es ruckelt?

 

Halte auch mal parallel über das Unraid Webterminal "htop" offen und schau da mal welcher Kern hochgeht und welcher Prozess besonders negativ auffällt. Gerne auch mal Screenshots posten. Umso mehr Info, umso besser.

 

 

 

 

Link to comment
14 minutes ago, mgutt said:

Gilt das für jedes beliebige ZIP und wenn ja, auf welche Geschwindigkeit ist das Entpacken limitiert bzw ist es überhaupt limitiert

Ich habe daten Kopiert und nicht entpackt. Aber dies spielt keine Rolle. Wenn ich entpacke ruckelt es auch. Limitiert wurde nichts. Wüsste auch nicht wie ich in Windows das Kopieren von daten limitieren kann ;)

 

17 minutes ago, mgutt said:

sondern provoziert einfach nur ruckeln? Ich kenne Ruckeln und einen stehenden Mauszeiger

Das Ruckeln ist eben nicht Windows like. Es verhält sich komisch. Der Mauszeiger kann ich immer noch normal bewegen. Youtube filme laufen normal der Sound ebenfalls aber ich kann nichts mehr anklicken. Wenn ich was in diesem Moment verschiebe bleibt es hängen. Spiele Ruckeln ebenfalls. 

 

On 1/6/2021 at 8:50 PM, swiss01 said:

Getestet habe ich dies durch Kopieren diversen Daten von der HDD auf die HDD. 

Muss mich da korrigieren. von HDD auf HDD funktioniert es. Das Problem ist von SSD auf die selbe SSD (c) 

Link to comment

Also auf die selbe, schnelle Platte, hmmm......blöde Frage...die paravirtualisierten (virtio) Treiber für Win hast Du installiert (weiss garnicht ob die nicht bei Win10 inzwischen dabei sind) ?

Für die Block-Devices ist ja cache=writeback definiert....das ist eigentlich OK und Standard, aber läuft durch den Host-RAM...evtl hakt es da auch?

Link to comment
  • ich777 changed the title to [SOLVED] Windows VM stockt bei grosser SSD/HDD Belastung

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...