CPU Auslastung besser aufteilen.

Paddi_Bomb

Ensign
Registriert
Juni 2020
Beiträge
133
1. Nenne uns bitte deine aktuelle Hardware:
(Bitte tatsächlich hier auflisten und nicht auf Signatur verweisen, da diese von einigen nicht gesehen wird und Hardware sich ändert)
  • Prozessor (CPU): Threadripper 3970X
  • Arbeitsspeicher (RAM): 8x Crucial Ballistix RGB L16-18-18-38 32GB
  • Mainboard: TRX40 AORUS MASTER
  • Netzteil: Seasonic 1000W Titanium
  • Gehäuse: Corsair 1000D
  • Grafikkarte: GTX980TI
  • HDD / SSD: WD 850N
  • Weitere Hardware, die offensichtlich mit dem Problem zu tun hat(Monitormodell, Kühlung usw.):

2. Beschreibe dein Problem. Je genauer und besser du dein Problem beschreibst, desto besser kann dir geholfen werden (zusätzliche Bilder könnten z. B. hilfreich sein):
Hallo, ich habe nicht direkt ein problem sondern eher eine Frage, ist es möglich mit einen programm oder so die "Arbeit" für die CPU besser aufzuteilen? Ich Nutze VMware und manche Kerne sind bei 1-10% und andere dauerhaft bei 100%. In manchen VM´s laggen die Anwendungen eventuell hängt das ja damit zusammen, das würde ich gerne Testen.

3. Welche Schritte hast du bereits unternommen/versucht, um das Problem zu lösen und was hat es gebracht?
...
 

Anhänge

  • CPU.PNG
    CPU.PNG
    102,7 KB · Aufrufe: 248
Wenn sich ein Task nicht parallelisieren lässt, dann ist das so, ob in einer VM oder außerhalb. Es ist weder möglich noch sinnvoll so eine Last zu verteilen. Da hilft nur mehr SC-Leistung.

Aber man kann natürlich analysieren, welche Last die verwendete Software in der jeweiligen VM erzeugt und ggf die Anzahl der Threads besser zwischen den VMs verteilen.
 
  • Gefällt mir
Reaktionen: Paddi_Bomb
process lasso kann man seht zu anwendungen bestimmten kernen zuweißen.
ich glaub aber nicht dass das auch für VMs geht. Ich würde den VMs einfach mehr kerne zuweißen. Wenn ein Progamm aber nur einen kern nutzen kann bringt das leider nichts.
 
  • Gefällt mir
Reaktionen: whats4
ghecko schrieb:
Wenn sich ein Task nicht parallelisieren lässt, dann ist das so, ob in einer VM oder außerhalb. Es ist weder möglich noch sinnvoll so eine Last zu verteilen. Da hilft nur mehr SC-Leistung.

Aber man kann natürlich analysieren, welche Last die verwendete Software in der jeweiligen VM erzeugt und ggf die Anzahl der Threads besser zwischen den VMs verteilen.
Wie kann ich den den Threads aufteilen, an sich weiß ich welche VM mehr Leistung braucht wie die Anderen?

LG
 
Die VMs nehmen sich normal automatisch freie kerne. Threads aufteilen macht normal windows automatisch aber wenn 1 Thread da ist der nur 1 Kern brauch bringen 100 Kerne auch nichts
 
wern001 schrieb:
process lasso kann man seht zu anwendungen bestimmten kernen zuweißen.
ich glaub aber nicht dass das auch für VMs geht. Ich würde den VMs einfach mehr kerne zuweißen. Wenn ein Progamm aber nur einen kern nutzen kann bringt das leider nichts.
Kann ich den einfach jeder VM 32 Kerne zuteilen und dann Teilt sich jede VM das selber ein? Aktuell habe ich VM 1 z.b 8 zugeteilt und den anderen 7 dann auch 2-8.
 
Ich denke VMware wird dir eine Möglichkeit bieten, die der jeweiligen VM zugeteilten Ressourcen festzulegen. Wenn eine VM zb nur 4 virtuelle Kerne bekommt sind das im schlechtesten Fall Kerne, die mit einer anderen VM doppelt belastet sind. Hier könnte man mit Software wie Process Lasso eine statische Bindung zwischen Kernen und VM erzeugen, damit sich die Dinger nicht gegenseitig in die Quere kommen.

Aber ich stecke nicht tief in VMware drin und kann dir nicht sagen, wie das dort genau geregelt ist. Möglich, dass es im Programm selbst Einstellungen dieser Art gibt.
 
  • Gefällt mir
Reaktionen: whats4
bitsum process lasso.
und mit DER hardware: kauf dir eine lizenz. weil das geld ist erstens ned viel und zweitens richtig gut angelegt.
 
Wenn es mich nicht täuscht kann das Host-System nicht sagen welche Kerne die VM nutzen soll nur die Anzahl.
Ich hoffe Du nutzt nicht die shard memory oder dynamic memory funktion
 
CPPC im Bios deaktivieren. Halte ich aber für Contra-Produktiv.
CPPC konzentriert die Arbeit auf dem besten CCX von Deinem Prozessor, damit auch Singlecore-Last so schnell wie möglich abgearbeitet wird.

Alles andere ist meiner Meinung nach immer nur von hinten durchs Knie vom Windows-Sheduler. MS+Intel+AMD stecken da richtig viel Gehirnschmalz rein, und in der Regel ist alles was man "dagegen" unternimmt Kontraproduktiv. Ein Task z.b. "besser" Aufteilen, damit er 3 Kerne beschäftigt, anstatt einen erzeugt 3x so viel Kontext-Wechsel. Und jeder Kontext/Kernwechsel kostet rechenzeit. Alle Register müssen gespeichert werden, dann müssen sie im neuen Kern wieder geladen werden. Und wenn beim Kern-Wechsel auch noch das CCX gewechselt werden muss, dann hast Du gleich doppelt so viel internen Rechenaufwand. Es ist doch toll das die Arbeit "konzentriert" wird.

Ich meine egal was MS+Intel+AMD machen, es ist immer falsch.
Wirklich. Seit 30 Jahren.
 
Paddi_Bomb schrieb:
Kann ich den einfach jeder VM 32 Kerne zuteilen und dann Teilt sich jede VM das selber ein? Aktuell habe ich VM 1 z.b 8 zugeteilt und den anderen 7 dann auch 2-8.
Overprovisioning bzw. Overcommitment würde ich bei CPUs vermeiden. Wie andere es sagten, jede VM nutzt die zugewiesenen Ressourcen gut genug selbst, daß man nichts außer der VM selbst die vCPU einstellen kann. Wenn Du so viele VMs betreibst, würde ich auf einen vollen Virtualisierer umstellen.
 
Zuletzt bearbeitet:
HisN schrieb:
CPPC im Bios deaktivieren. Halte ich aber für Contra-Produktiv.
CPPC konzentriert die Arbeit auf dem besten CCX von Deinem Prozessor, damit auch Singlecore-Last so schnell wie möglich abgearbeitet wird.

Alles andere ist meiner Meinung nach immer nur von hinten durchs Knie vom Windows-Sheduler. MS+Intel+AMD stecken da richtig viel Gehirnschmalz rein, und in der Regel ist alles was man "dagegen" unternimmt Kontraproduktiv. Ein Task z.b. "besser" Aufteilen, damit er 3 Kerne beschäftigt, anstatt einen erzeugt 3x so viel Kontext-Wechsel. Und jeder Kontext/Kernwechsel kostet rechenzeit. Alle Register müssen gespeichert werden, dann müssen sie im neuen Kern wieder geladen werden. Und wenn beim Kern-Wechsel auch noch das CCX gewechselt werden muss, dann hast Du gleich doppelt so viel internen Rechenaufwand. Es ist doch toll das die Arbeit "konzentriert" wird.

Ich meine egal was MS+Intel+AMD machen, es ist immer falsch.
Wirklich. Seit 30 Jahren.

Das stimmt aber ob das auf den Host einer VM zutrifft?
Man kann z.B. bei HyperV/VMWare nicht sagen der er nur kern xy nehmen soll. Man kann nur sagen das die VMs sich über mehrere NUMA-Konten verteilen dürfen. Der TR hat aber nur 2 NUMA-Knoten. Man kann HyperV nicht mal sagen welchen NUMA-Konten oder welche Kerne eine Bestimmte VM nutzen soll weil der Hauptprozess nicht im Taskmanager auftaucht
 
Zurück
Oben