it-swarm.com.de

Warum arbeitet meine CPU nicht mit ihrem maximalen Potenzial, selbst wenn meine Anwendung (die die CPU-Ressourcen nutzt) zurückliegt?

Warum schöpft meine CPU nie aus, selbst wenn meine Anwendung, die 40% der CPU aufnimmt (aber 30 - 40% der CPU immer noch im Leerlauf bleibt), verzögert ist?

Bedeutet das:

  1. Es gibt eine Möglichkeit, die CPU zu zwingen, auf 100% zu laufen
  2. CPUs werden auf diese Weise hergestellt und ich kann nur neue Hardware kaufen.
  3. Die Einschränkung liegt bei der Anwendung und die Verzögerung wird sich auch bei besserer CPU nicht verbessern. (Unter der Annahme, dass die Anwendung perfekt ist, frage ich, ob die Software auf diese Weise ausgeführt wird?)
  4. Etwas anderes.
29

Sie führen wahrscheinlich Anwendungen mit einem Thread aus, die nur einen einzelnen CPU-Kern ausschöpfen können. Da 100% eines Kerns weniger als 100% der Kapazität einer Multi-Core-CPU ausmacht, erreicht total CPU-Auslastung nicht 100%.

Sie können dies bestätigen, indem Sie die einzelne Kernauslastung im Task-Manager anzeigen. Suchen Sie nach einzelnen Kernen, die sich der maximalen Auslastung nähern.

94

Sie haben Ihr Betriebssystem nicht angegeben. Also wird die Antwort gerne geläufig sein.

Anwendungen können aus verschiedenen Gründen eingeschränkt sein. Der Engpass kann sein in:

  • ZENTRALPROZESSOR
    • langsame Geschwindigkeit
    • single/Low Threaded Apps (können nicht alle Cores/Threads nutzen)
  • I/O
    • plattendurchsatz
    • festplattenlatenz
    • netzwerkdurchsatz
    • netzwerk-Latenz
  • erinnerung
    • kapazität
    • durchsatz
    • latenz
    • unzureichender Cache
    • ort (NUMA)
    • swapping

Und es gibt noch mehr Gründe, die nicht so häufig vorkommen.

Sehen Sie sich also Ihre Systemressourcen an und versuchen Sie, Ihr System auf andere Engpässe als nur die Gesamt-CPU-Auslastung zu analysieren.

50
Jaroslav Kucera

Im Allgemeinen spreche ich von Staub, wenn Leute von einem langsamen Computer sprechen. Als ehemaliger Computertechniker mit 15 Jahren Berufserfahrung stellte ich fest, dass das einfache Ausblasen von Staub die Leistung erheblich verbessern kann.

Ich spreche nicht von einer dünnen, kaum wahrnehmbaren Staubmenge, sondern von großen Klumpen oder sogar Matten, die einen normalen Luftstrom verhindern. Ich habe Kühlkörper gesehen, die im Grunde genommen einen Filter über sich hatten, der Staub war, und keinen eigentlichen Filter. Dies verhindert, dass eine erhebliche Menge Luft die CPU jemals kühlt. Wenn Sie Staub auf diese Weise entfernen, werden die Lüfter in der Regel sofort leiser und Ihre Komponenten halten länger. Hitze hatte so manchen Computer getötet, den ich reparieren sollte.

Wenn Sie mit der Idee des Wärmeproblems einhergehen, können Sie auch eine bessere Wärmeleitpaste ausprobieren. Das weiße cr @ p, mit dem die meisten Prozessoren geliefert werden, ähnelt dem Yugo der Wärmeleitpaste. Ich benutze Arctic Silver, aber es gibt sogar bessere Sachen. Arctic Silver handelt von einem Porche (unter Verwendung der Auto-Bewertungsskala), aber es gibt Ferrari- und Supercar-Varianten.

Prozessoren neigen dazu, bei Überhitzung langsamer zu werden. Dies ist eine physikalische Sache sowie eine "Selbsterhaltung", die in vielen CPUs programmiert ist. Ich weiß nicht, ob es im Task-Manager noch 100% anzeigt oder ob es 40% anzeigt (wie Sie sehen), aber es kann eine erhebliche Verlangsamung sein, während die CPU versucht, den Kühlkörper und den Lüfter laufen zu lassen. " aufholen."

Eine andere Sache, die Ihre CPU verlangsamen könnte, ist die GPU. Wenn Sie grafikintensive Spiele oder Dienstprogramme (wie CAD) ausführen, hält Ihre GPU möglicherweise Ihre CPU zurück. Eine bessere Grafikkarte zu bekommen, könnte etwas sein, das man sich ansehen sollte. Die Verwendung der falschen richtigen Karte kann Sie auch zurückhalten. Spielkarten sind (normalerweise) nicht für die Verwendung mit CAD sowie mit Workstation-Karten ausgelegt, und Workstation-Karten eignen sich (normalerweise) auch nicht für Spiele. Einige tun es, aber die meisten nicht.

Wie @Jaroslav Kucera erwähnte, könnte es sich um eine Festplatte handeln. Wenn Sie die HD (s) sehr oft treffen, können Sie den Vorgang verlangsamen. Normalerweise führe ich mehrere Laufwerke aus. Eines speziell für das Betriebssystem und andere (s) für Software, Windows-Auslagerungsdateien, persönliche Dateien usw. Abgesehen davon, dass Sie sich bei einem Betriebssystemausfall nicht so viele Gedanken über das Sichern persönlicher Daten machen müssen, wird die Arbeitslast durch mehrere Festplatten erheblich verteilt. Das gleichzeitige Lesen und Schreiben auf dieselbe Festplatte kann die Festplatte erheblich verlangsamen. Die Verwendung von SHDs kann dies mildern, jedoch nicht vollständig. Photoshop und Videobearbeitungssoftware sind dafür bekannt, dass sie HDs hart treffen. Das Lesen von einer Festplatte und das Ausgeben auf eine zweite Festplatte ist der richtige Weg. Dies hilft auch das Leben Ihrer HDs. Ich gehe auch mit aktiver Kühlung auf meine HDs. Ich habe keine Festplatte getötet, seit ich vor über 15 Jahren einen Lüfter und einen Kühlkörper eingebaut habe. Google ihnen, sie sind billige Versicherung.

Ob Sie es glauben oder nicht, Ihr Netzteil könnte Sie auch verlangsamen. Wenn Sie nicht über genügend Strom verfügen (oder wenn Ihr Netzteil alt oder ein billiger, überbewerteter chinesischer POS ist), können Leistungsprobleme auftreten. Ich habe aus erster Hand gesehen, welche seltsamen Betriebssystemprobleme ein flockiges Netzteil verursachen kann. Sie suchen sowohl nach Spannung als auch nach Ampere. Vergewissern Sie sich daher, dass diese den Spezifikationen des Netzteils entsprechen, wenn Sie diesen Weg gehen, und stellen Sie sicher, dass sie Ihren Strombedarf decken oder übertreffen. Wenn Ihre Komponenten insgesamt 500 Watt haben und Sie ihnen sogar 475 Watt geben, ist das schlecht. Ich empfehle, Ihre Anforderungen um etwa 20% zu übertreffen, damit Sie nicht so schnell ein neues Netzteil kaufen müssen, wenn Ihr Netzteil älter wird (und die Leistung sinkt) und Ihre anderen Komponenten älter werden (und mehr Leistung benötigen).

Einschließlich der anderen Antworten hier gibt es noch weitere Gründe, warum Ihr Computer langsam läuft. Abgesehen von der Option Netzteil wurde das, worüber ich sprach, sehr häufig gesehen, als ich Computertechniker war. Das Durchführen eines Benchmarks und anderer Tests ist die einzige Möglichkeit, dies herauszufinden. Das Austauschen von Teilen löst möglicherweise nicht einmal das Problem, wenn es sich um eine Kombination mehrerer Teile handelt, die die Verlangsamung verursacht.

Und, AFAIK, es gibt keine Möglichkeit, Ihren Computer zu zwingen, 100% des Prozessors zu verwenden. Die CPU und das Betriebssystem wissen, was sie tun müssen, und sind in der Regel sehr gut in ihrer Arbeit. :-) Ich glaube, noch niemand hat einen Weg gefunden, eine CPU zwangsweise so zu speisen, dass sie zu 100% läuft, wenn Sie es für richtig halten. Zumindest nicht ohne zusätzlichen Müll, damit der Prozentsatz "gut aussieht".

Wenn Sie 40% und nicht und eine ganzzahlige Aufteilung von 100% (wie 25%, 33% oder 50%) sehen, habe ich das Gefühl, dass es sich nicht um ein einzelnes Threading-Problem handelt. Es könnte sein, aber das ist nicht der Punkt, an den ich denke. +1 an @Twisty Impersonator für das sofortige Aufrufen.

Viel Glück beim Herausfinden! Ich habe Tage damit verbracht, diese Art von Dingen herauszufinden, nur um die meisten Eingeweide als "letzte Möglichkeit" zu ersetzen.

11
computercarguy

Es kann sich um Energiespareinstellungen entweder im BIOS oder im Betriebssystem handeln. Viele moderne CPUs und Motherboards verfügen über Einstellungen, mit denen die CPU sparsamer mit dem Stromverbrauch umgehen kann (insbesondere bei Laptops, bei denen der Akku eine lange Lebensdauer haben soll). Möglicherweise können Sie eine solche Einstellung deaktivieren. Vergewissern Sie sich jedoch, dass Sie wissen, was Sie tun, da sich neben der Einstellung in der Regel andere Dinge befinden, die die Funktionalität des Computers auf andere wichtige Weise beeinträchtigen können.

2
mathreadler

Ohne die Besonderheiten Ihres Programms zu kennen, ist es schwer zu sagen, aber da in einer anderen Antwort die Möglichkeit eines Singlethreads für die Anwendung untersucht wird, werde ich die Anwendung so betrachten, als würde sie ordnungsgemäßes Multithreading verwenden.

Eine häufige Sache, die übersehen wird, sind physische Kerne im Vergleich zu "Hyperthread-Kernen". Hyperthreading zeichnet sich bei vielen kurzen Aufgaben mit anderen Engpässen als der CPU aus. Bei Tasks mit engen CPU-Engpässen sind Sie immer noch durch Ihre physische Kernanzahl begrenzt, die in der Regel die Hälfte Ihrer Hyperthread-Kernanzahl beträgt. Im absolut schlimmsten Fall zeigt Ihr Task-Manager möglicherweise nur eine Auslastung von 50% an, da in seinen Diagrammen Hyperthread-Kerne gezählt werden. In Wirklichkeit sind Ihre physischen Kerne möglicherweise zu 100% ausgelastet. Im Allgemeinen würden Sie jedoch mehr als das anzeigen, da Ihr Betriebssystem das Hyperthreading für andere nicht verwandte Aufgaben verwenden kann.

1
Physics-Compute

Ich bin regelmäßig zu 100% ausgelastet, wenn ich Rendering- und Rechenaufgaben mache. Ich werde sicherstellen, dass das Hyperthreading 100% erreicht und die Anweisungsreihenfolge eine große Sache ist. Intel und AMD verfügen beide über eine große Menge an Hardware, die für die Neuordnung von Befehlen vorgesehen ist, um so viele Ausführungskerne wie möglich zu füllen. Wenn Sie 30% auf einer modernen Maschine erhalten, können Sie

  • Check Temps - Intel & AMD beide downclocken, wenn sie heiß werden und es zeigt sich als Stottern und Stacheln.
  • Mach nicht viel damit .... Beispiele sind:
    1. Surfen im Internet
    2. Email
    3. Die meisten einfachen Spiele
    4. Ich würde fast garantieren, dass es sich bei Ihrem Problem um eines oder alle der folgenden Probleme handelt, beginnend oben:
  • Besorgen Sie sich eine SSD
  • Besorgen Sie sich eine SSD
  • Holen Sie sich Ihr Betriebssystem auf die SSD und verschieben Sie normale Daten auf ein herkömmliches Multi-TB-Laufwerk. Windows benötigt mehr Zugriff auf seine lokalen Dateien als alles andere.
  • Bonazai Buddy?
  • Halten Sie alle Laufwerke mindestens über 10% ihrer Kapazität. NTFS ist ein Journal-Dateisystem und die Leistung nimmt ab, je voller das Laufwerk wird.
  • Sie benötigen ein NVMe-Laufwerk/SSD für Ihr Betriebssystem so schnell wie möglich (ja, ich habe es noch einmal gesagt). Die Leistung ist erstaunlich und setzt sich im zweiten Teil fort ... Ein großer Einzelhändler verkaufte heute Samsung 961 NMVe 512 GB-Laufwerke für 300 US-Dollar, was für den normalen Gebrauch ausreichend ist.
  • Windows 10 ist GPU-schwer. Eine billige dedizierte Grafikkarte kann sowohl Speicher als auch CPU entlasten. Sie können das APU weiterhin in Kombination mit der Grafikkarte verwenden, aber Sie sparen etwas RAM, und VRAM ist im Allgemeinen viel schneller.
  • CPUs mit niedrigerer Kernanzahl sind auch speichergebunden. Wenn Sie sich die i7s ansehen, laufen alle mit Quad-Channel-DDR in 4 Bänken. AMDs Epyc-Chips werden 8-Kanal-DDR5 mit 64 Kernen sein. Hilft nicht. Schließlich, und ich kann das nicht genug betonen, werfen Sie das Geld auf so viel RAM, wie Ihre Maschine nehmen wird. Ich habe 32 GB und kaufe später in diesem Jahr 32 weitere. Windows verwendet etwas Ähnliches wie Superfetch, das etwas neuer ist und den Speicher in RAM komprimiert, der nicht verwendet wird, sodass Programme und Daten bei Bedarf einfach entpackt werden können. Als weiteres Beispiel führe ich ein Linux VM für die Entwicklung aus, weise 6/12 Kerne und 16 GB RAM zu und nach dem ersten Laden der SSD startet es in ~ 3 Sekunden. CPU wird heutzutage von Optimierungen wie diesen als sehr billig angesehen ... Das Dekomprimieren von Photoshop aus dem Speicher ist schneller als das Laden von der Festplatte, außer bei sehr schnellen SSDs.

All diese Dinge scheinen zu viel zu sein, bis ich nicht mehr in der Lage bin, ein Projekt mit 70.000 Dateien zu kompilieren oder gigantische Camera Raw-Dateien auf 17 "x26" x600 dpi bei 16-Bit-Farben zu skalieren. Selbst bei 100% iger Auslastung sind die Ressourcen so überfordert, dass Sie nicht langsamer werden. Neulich stellte ich fest, dass ich zwei VMs und einen Wolf 2 zusammen mit zwei IDEs geladen hatte (ich bin abgelenkt, verklage mich) und bemerkte keine Verlangsamung. Dies ist eine ~ 1500 $ Maschine BTW, nichts Besonderes, und am langsamsten im Laufe der Jahre gekauft. Die Hälfte davon ist eine der Radeon RX64s, weil meine Grafikkarte 6 Jahre alt war. Riesiger Unterschied bei Render und so. Durch ein Upgrade wird Ihre Hardware wahrscheinlich besser genutzt, als wenn Sie davon ausgehen, dass Sie nur 30% nutzen.

Wenn ich eine 5400 U/min-Festplatte in diesen Computer für das Betriebssystem stecken würde, würde es wie totaler Mist laufen.

TL; DR, es klingt, als ob Sie gerade CPU-gebunden sind. Geben Sie ein paar hundert für mindestens 256 GB SSD für das Betriebssystem, 8 GB RAM und eine niedrigere Spielerkarte aus, und der Computer wird Jahre halten. Dieser hat 6 Jahre überlebt, bevor ich endlich einen Prozessor und ein Mobo-Refresh gemacht habe und ungefähr 25 Mal am Tag eine komplette Cross-Compiler-Suite mit der alten Ausrüstung kompiliert habe.

Nenn mich übertrieben, aber ich empfehle keine 8 Tesla-Karten oder so. :-) Führen Sie kleinere Upgrades durch, wenn Sie können, und ich denke, Sie werden viele dieser Probleme lösen. Ich habe vor Jahren eine SSD zu einem Q6600-System hinzugefügt und die Leistung verdreifacht.

1
JimmyShinny