Kerne Reserviert oder nicht?

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

GameBred

Benutzer
Registriert
03. Apr. 2022
Beiträge
138
Reaktionspunkte
9
Punkte
24
Hi :)

Hab eine kurze Frage zu VMM.
Und zwar bekomme ich widersprüchliche Antworten.
Wenn ich auf meiner 718+ eine HomeAssistant VM laufen lasse und ihr 2 Kerne zu Verfügung stelle, sind diese 2 Kerne dann vollkommen für diese VM reserviert oder kann der Rest des Systems die noch nutzen?
Sprich beschneide ich den Rest des Systems auf 2 Kerne wenn ich HomeAssistant 2 Kerne zuweise?

Gruß
 
Zuletzt bearbeitet:
Das dürfte ziemlich egal sein, da die meisten Aktivitäten, die eine Diskstation ausführt ohnehin nur mit einem Kern laufen. Wichtiger als die Zahl der Kerne ist meinem Verständnis nach die Zahl der “threads”, die gleichzeitig gehandhabt werden können. Damit sollte ein Linuxsystem dann aber kein Problem haben.
 
  • Like
Reaktionen: GameBred
Danke für deine Antwort. Aber ob das egal ist oder nicht war nicht direkt die Frage :P
Ich wollte eher so wissen ob das nun so ist oder nicht. Hab da jetzt unterschiedliches gesagt bekommen und auch gelesen.

Screenshot 2023-01-17 124957.png

"Sie KÖNNEN CPU-Threads für virtuelle Maschinen reservieren"

Das klingt ja als könnte man das auswählen?!
 
Man kann in den Einstellungen der VM Threads reservieren lassen. Diese stehen dann anderen Prozessen nicht mehr zur Verfügung. Als default ist dort 0 voreingestellt.
 
Okay, aber solange man nirgends einen Haken dazu setzt, sind die erst einmal nicht reserviert und können vom Host weiter genutzt werden?!
 
Ja. Aber wenn ich mich recht erinnere, kommt man auch mit aktiven VMs schnell an eine Grenze, wo man keine weitere VM mehr mangels Kernen / Threads starten kann. Aber solange man die nicht reserviert, sind die für DSM normal verfügbar.
 
Geht mir nur um eine einzige VM (HomeAssistant) und ob DSM dann nur noch 2 Kerne zu Verfügung hat wenn ich der VM dann 2 Kerne zuteile.
Aber ist dann ja wohl doch nicht so. Um so besser :)
 
Da mich GameBred diesbezüglich heute morgen auch schon per PN angefragt hatte, versuche ich das hier mal ein wenig darzustellen. :) Dazu nehme ich jetzt mal meine DS720+ als Beispiel. Diese hat eine Intel Celeron J4125 mit 4 Kerne und 4 Threads und darin stecken 10 GB RAM.

Jeder physische CPU-Thread kann lt. Synology 2 vCPUs bereitstellen, somit hat die DS720+:
- 4 CPU Kerne
- 4 CPU-Thread
- 8 vCPU

Anmerkung: Die Option zum reservieren von CPU-Threads unter den Qos-Einstellungen hatte geimist ja bereits erwähnt/erklärt.

Nun zu dem Thema zuteilen bzw. reservieren anhand von praktischen Beispielen: Auf der DS720+ ist eine HA VM eingerichtet. Klassischerweise nutzt man dafür die von HA empfohlenen Voreinstellung von 2 CPU bzw. CPU-Thread und 4 GB RAM.


DS720_HAVM.png

Wenn die HA VM dann läuft
DS720_VMs.png

sieht man: CPU-Kerne = 2 und Reservierte CPU-Threads = 0
Das bedeutet das die HA VM jetzt eigentlich theoretisch 4 vCPU für die Nutzung zur Verfügung haben sollte.

Jetzt geht man hin und erstellt eine weitere VM. Bei mir gibt es aktuelle u.a. noch eine Linux Mint VM. Bei dieser stellt man jetzt testweise z.B. mal 4 CPU-Kerne ein und den verwendeten Speicher stellt man so groß ein das der Gesamtspeicher der DS720+ (10 GB RAM) dafür nicht reicht. Also z.B. auf 6 GB RAM. Dann gibt es beim Starten der Mint VM eine Fehlermeldung bzgl. zu wenig Arbeitsspeicher und es einscheint der folgende Screen. Dort klickt man rechts auf "Verfügbare Hosts auflisten", sodass der aktuelle Status des Host angezeigt wird.

DS720_vCPU.png

Noch mal zu Erinnerung: Im Hintergrund läuft die HA VM mit zugeteilten 2 CPU-Kernen. Wie man sehen kann nutzt diese aktuell aber nur 2 ihrer möglichen 4 vCPU, sodass es aktuell noch 6 Verfügbare vCPU gibt. Die HA VM nutzt aktuell auch nur eine statt zwei der möglichen vier CPU-Thread, sodass noch 3 CPU-Threads verfügbar sind. Wie genau bei VMM jetzt der Zusammenhang zwischen voreingestellter CPU-Anzahl (hier 2) und genutzter CPU-Thread-Anzahl (aktuell 1) ist, weiß ich auch nicht.

Ok dann gehe ich hin und verringer wieder das RAM für die Mint VM, sodass ich diese starten kann. Somit laufen jetzt:
1 x HA VM mit voreingestellten 2 CPU-Kernen
1 x Mint VM mit voreingestellten 4 CPU-Kernen

Nun kommt eine weitere VM ins Spiel. Bei mir gibt es aktuelle z.B. noch eine VM mit dem Proxmox Backup Server. Dieser PBS VM sind 2 CPU-Kerne zugeteilt. Hier also wieder das gleiche Spiel: RAM so groß setzen das die Fehlermeldung kommt. Diese sieht dann so aus:

DS720_vCPU_2.png
Es gibt jetzt nur noch 2 verfügbare vCPU und nur noch 1 verfügbaren CPU-Thread. Da nichts bei QoS eingestellt ist gibt es auch keine Reservierten CPU-Threads (0).

Aktuell laufen ja:
1 x HA VM mit 2 CPU-Kernen
1 x Mint VM mit 4 CPU-Kernen
D.h. die zwei VM benutzen jetzt gerade 6 vCPU und 3 CPU-Thread. Somit blieben für eine weitere VM nur 2 vCPU und 1 CPU-Thread über, was dann auch für DSM selber gelten dürfte.

Daraus kann jetzt jeder seine eigenen Rückschlüsse ziehen. :LOL:

Um auf die Ursprungsfrage zurück zu kommen: Wie genau VMM jetzt CPU, CPU-Thread und vCPU verwaltet und verwendet dazu gibt es auch von Synology keine genauen Infos. Zumindest konnte ich keine finden. Im Prinzip spielt das aber auch keine Rolle, da man darauf per WebGUI nur durch die Zuteilung der CPU-Kerne und durch die Qos-Einstellung Einfluss nehmen kann und da das eh immer individuelle Einstellungen sind, je nachdem welche VM man wofür und wie verwendet. D.h. das muss man im praktischen Betrieb selber testen und herausfinden.

Anmerkung: Sicherlich wird man sich die CPU, CPU-Thread und vCPU Vergabe und Nutzung bei laufenden VM auch per CLI anzeigen lassen können, aber ich hatte jetzt keine Lust nach den passenden Befehlen dafür zu suchen. :)

VG Jim
 
Zuletzt bearbeitet:
Danke. Das erklärt einiges. Allerdings sagt das ja auch nur aus wie viele CPU-Kerne und vCPUs man vergeben kann.
So wie sich das für mich darstellt könntest du ja auch 4VMs mit jeweils 2 vCPUs laufen lassen. Und dennoch teilen sich die 8 vCPUs ihre Leistung mit DSM. Ansonsten könnte man ja alle 8 vergeben, sodass DSM ohne dasteht. Das würde ja keinen Sinn machen. Also müssen sich ja alle VMs die Kerne mit dem Rest des Systems teilen. Es sei denn man stellt es anders ein. Aber dann lässt VMM es wahrscheinlich gar nicht zu alle 8 vCPUs zu vergeben?

Sprich wenn du jetzt Spaßeshalber eine weitere VM mit 2 vCPUs laufen lassen würdest, dann solltest du entweder eine Fehlermeldung bekommen wenn die Last nicht mit DSM geteilt wird oder es funktioniert, was wiederum bedeutet das die vCPUs auch für Anwendungen außerhalb von VMM zu Verfügung stehen
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat