Warum verwendet Windows die anderen CPU-Kerne nicht?


8

Im Windows Task-Manager wird auf der Registerkarte Leistung die erste ausgelastete CPU angezeigt, während die anderen 7 nur im Leerlauf sind und gelegentlich Spitzen auftreten. Was gibt?

Weitere Informationen: Ich habe 8 GB und es werden nur 4,5 GB verwendet. Auf der Registerkarte "Prozesse" wird keine Anzeige angezeigt, die die Prozessorleistung beeinträchtigt. Tatsächlich ist der Systemleerlaufprozess 98-99.

Wenn ich etwas programmiere und 8 bis 12 Anwendungen laufen lassen (einige natürlich ohne direkten Bezug zur Programmierung), verlangsamt sich mein Computer auf ein Crawling.

Systeminformationen:

Intel Core i7-2600K Processor (quad-core with hyper-threading), 
8GB RAM, 
Intel BOXDZ68BC LGA 1155 Motherboard, 
500GB HDD

1
Führen Sie einen einzelnen, langsamen Prozess aus? Viele Prozesse sind einfach nicht für die Verwendung mehrerer Kerne programmiert. Versuchen Sie, Prime95 kurz auszuführen, um festzustellen , ob alle Ihre Kerne verwendet werden
Ben Brocka

Ich habe Prime95 ausgeführt, wie Sie vorgeschlagen haben, und es hat alle 8 CPUs maximal. (Ich weiß, dass es nur 4 Kerne gibt, aber mit Hyper-Threading meldet Windows 8 CPUs im Windows Task-Manager. Darauf beziehe ich mich.) Ich habe ein Programm ausgeführt, das der Schuldige gewesen sein könnte, aber es wird normalerweise nicht ausgeführt so langsam, noch verlangsamt es andere Programme. Vielleicht war es eine Kombination von Prozessen, aber warum liefen sie nicht auf separaten Kernen?
revloc02

1
Wenn Prime95 die Kerne voll ausnutzt, funktioniert es richtig. Haben Sie Festplatten- und Speicherengpässe ausgeschlossen?
ᴇcʜιᴇ007

Der Task-Manager fügt dem Systemleerlaufprozess eine Interrupt-Verarbeitungszeit hinzu. Wenn der Systemleerlaufprozess 99% beträgt, ein Kern jedoch 100%, werden möglicherweise Interrupts verarbeitet. Verwenden Sie den Ressourcenmonitor, der Interrupts und DPCs aufteilt. (Ich nehme an, dies ist Windows 7)
David Marshall

Antworten:


8

Viele Apps verwenden nicht alle Kerne. Sie sind nicht dafür programmiert. Dann werden sie einen Kern verwenden und ihn überlasten.

Sie können Windows jedoch anweisen, diesen Prozess auf 2,3, ... und in allen Kernen auszuführen.

Gehen Sie dazu folgendermaßen vor:

  1. Öffnen Sie den Task-Manager
  2. Wählen Sie die Registerkarte Prozesse
  3. Klicken Sie mit der rechten Maustaste und wählen Sie "Affinität festlegen".
  4. Wählen Sie aus, auf welchen Kernen Sie den Prozess ausführen möchten.

2
Sie können Windows anweisen, welche "Threads" verwendet werden sollen. Dies bedeutet nicht, dass das Programm sie tatsächlich im herkömmlichen Sinne verwendet.
Ramhound

2
@ Ramhound, Sie haben Recht, aber dies macht eine bessere Leistung für viele Programme;)
Searush

1

Ihr Prozessor ist Quad-Core. Er führt 8 Threads beim Multithreading aus. Nicht alle Anwendungen sind jedoch so programmiert, dass mehrere Threads verwendet werden. Einige Anwendungen benötigen nur 3 Threads. Dies bedeutet, dass die Anwendung nur einen oder zwei Core-Threads verwendet. Selbst wenn die Prozessaffinität für 4 Kerne eingestellt wird, wird immer noch weniger Hardware benötigt


0

Wenn Sie eine Intel Core i7 2600-CPU haben, prüfen Sie zunächst, ob es sich um Dual Core oder Quad Core handelt.
Einige High-End-Core-i7-CPUs sind 6 Core-Prozessoren, und die anderen Kerne, die Sie auf der Registerkarte Leistung des Task-Managers sehen, sind virtuelle Kerne.


2
Es ist eine Quad-Core-CPU mit Hyper-Threading. Also 4 Kerne, aber Windows meldet 8. Trotzdem scheint es, als ob nur ein Kern das harte Zeug ausgeführt hat und alles (alle Programme) festgefahren ist.
revloc02

1
@raven, Sie könnten Ihre erste Antwort bearbeiten und dort Ihre zweite Antwort hinzufügen;)
Searush

@ revloc02 - Sofern Sie nicht genau angeben, welche Prozesse ausgeführt wurden und wie viele Threads verwendet wurden, ist jeder Prozess, der Ihre Schlussfolgerung verwendet hat, unvollständig. Es hört sich so an, als hätten Sie nur prozessintensive Anwendungen verwendet.
Ramhound
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.