Wie Engpass CPU feststellen?

DoS007 schrieb:
@NJay Ich meinete nicht das "Anwendung"sprogramm, sondern ein Monitorprogramm (wie hwmonitor oder so). Da muss es doch sicherlich eines geben, das das entsprechend berücksichtigen kann?

Wie gesagt, das geht nicht so eifnach wie du dir das vorstellst.
 
@NJay Aber ist das nicht echt ziemlich lächerlich, dass es dann keine allgemeine Möglichkeit gibt (vor allem ohne Zusammenspiel mit Grafikarte usw.) herauszufinden, ob ein neuer CPU ggf. samt Mainboard und RAM eine Performanceverbesserung für genutzte Anwendungen bringen könte?

Ich habe gerade mal ein paar Anwendungen getestet: procexp (auch in 14er Version mit anderer cpuUsage-Berechnung), resmon, task manager, hwmonitor, processhacker,aida64,procmon, speccy,hwinfo.

Am besten gefallen (höchste CPU Usage gezeigt) haben hwinfo und processhacker. Besonders gut hat mir hwinfo gefallen, da kann man bei dem Sensor Status auch die Intervall-Abrufzeit angeben und z.B. auf 200ms setzen und dann auf "Max CPU/Thread Usage" gucken [ich glaube, leider auch hier Durchschnittswert? Von daher am besten einfach als Daumenregel, wenn dort mehr als 80% gezeigt wird, lohnt sich CPU upgrade.] (ich verstehe nicht, warum bei keinem Programm anstatt durchschnittswerten nicht einfach der maximalwert zwischen den abrufzeiten angezeigt wird?! Das wäre doch viel sinnvoller.).

HWinfo scheint bisher noch die beste Möglichkeit zu sein.
 
Die Frage ist halt für welches Programm. Bei Programmen, die dauerhafte Last verursachen ist das einfacher festzustellen. (Z.B. Video rendern, Zocken)

Bei Programmen wie einem browser ist das schwieriger. Hier wechseln sich die Lasten ständig ab. Mal ist das Internet der Flaschenhals, dann die RAM geschwindigkeit, dann mal die CPU, etc. Das ganze ist aber so schnell und im wechsel, das man das nicht einfach durch eine Prozentzahl darstellen kann.
 
@NJay Ist die Ramgeschwindigkeit nicht schon bei der CPU-Geschwindigkeit (bzw. Usage) dabei? Das gehört doch als Recheneinheit zusammen?!

Hier zwei interessante Links zu MAX CPU/Thread Usage bei HWInfo: Links1, Link2 .

"Max CPU/Thread Usage" is the maximum instantaneous usage among all threads/cores in the system, so on the screenshot it matches Core #1 which has actually the highest usage.
 
DoS007 schrieb:
@NJay allgemeine Möglichkeit gibt (...) herauszufinden, ob ein neuer CPU ggf. samt Mainboard und RAM eine Performanceverbesserung für genutzte Anwendungen bringen könte?
Dazu drei Anmerkungen:
1) es heißt die CPU. Wenn Du "ein neuer CPU" schreibst, tut das richtig weh.
2) im Prinzip findest Du für jedes Programm Benchmarks, denen Du entnehmen kannst, welche CPU mit dem jeweiligen Programm wie performt
3) die Kernauslastung hat null Aussagekraft für die Performance. Ein FM2+-Prozessor mag zum Beispiel weniger stark von einer Anwendung ausgelastet sein, als ein AM3+-Prozessor. Trotzdem arbeitet der AM3+-Prozessor wegen des L3-Cache, der bei FM2+ fehlt, schneller. Oder bei Intel: der Broadwell mit L4-Cache mag mehr ausgelastet sein, als der Skylake ohne L4-Cache und kann es trotzdem besser gebacken kriegen.
 
  • Gefällt mir
Reaktionen: Baya
Juri-Bär schrieb:
  1. im Prinzip findest Du für jedes Programm Benchmarks, denen Du entnehmen kannst, welche CPU mit dem jeweiligen Programm wie performt
  2. die Kernauslastung hat null Aussagekraft für die Performance. Ein FM2+-Prozessor mag zum Beispiel weniger stark von einer Anwendung ausgelastet sein, als ein AM3+-Prozessor. Trotzdem arbeitet der AM3+-Prozessor wegen des L3-Cache, der bei FM2+ fehlt, schneller. Oder bei Intel: der Broadwell mit L4-Cache mag mehr ausgelastet sein, als der Skylake ohne L4-Cache und kann es trotzdem besser gebacken kriegen.

Vielen Dank für diese Infos.

Abschließend bleibt also zu sagen, dass die besten Möglichkeiten um zu bestimmen, ob die CPU samt RAM eine Anwendung limitiert, die Folgenden sind:

Abschließend also: Tutorial zum Messen der Limitierung.
Selbst testen
: 1), 2) und falls möglich 3) und ansonsten externe Tests anschauen 4).
1) Direkt: Die einfachste, aber wie gesehen, auch schlechteste ist die allgemein direkte Variante. HWinfo installieren (imo das beste Programm dafür), mit Sensors only starten. Dann auf Einstellungen das Update-Intervall auf 100ms setten (das ist das geringste; übrigens beliebig nah bei 0 würde ohnehin keinen Sinn machen, weil entweder hätte man dann 0% oder 100% Auslastung, dann wäre nur interessant wie anteilig in der Zeit vorkommt -> genau das hat man letztlich schon wenn man das mit 100ms macht). Und dopplet auf Max CPU/Thread Usage klicken für den Graph (siehe Bild). Nun die Anwendung starten, dessen Limitierung geprüft wird und schauen, ob die Last über ~80 % geht (da auch hier nicht jederzeit geprüft wird, und diese Art der Prüfung nicht alle Paramter berücksichtigen kann [siehe Antworten oben], hat man mit 80% eine gute Daumenregel; bei Hyperthreading ggf. einzelne Kerne prüfen, da so sonst ggf. 40% schon Limitierung bedeuten könnte). Falls ja, limitiert die CPU samt RAM vermutlich. Diese Methode ist, wie oben bemerkt äußerst kritisch zu sehen (wenn man es aber unbedingt so einfach direkt machen möchte, ist hwinfo aber wohl vermutlich das beste Programm und besser als der TaskManager sowieso).
2) Indirekt: Prüfen, ob die anderen Faktoren Grafikkarte, Festplatte, Internet (Latenz, Bandbreite) limitieren. Ggf. einzelne Faktoren ausschließen bzw. variieren, indem man z.B. kurzzeitig mal als Festplatte für die Anwendung eine RamDisk verwendet (ansonsten am besseren Internet bzw. mit besserer Grafikkarte testen; wobei bei der Grafikkarte die GPU-Auslastung vergleichswerse sehr, sehr gut auszulesen ist, sodass dieses als Info vermutlich sogar reicht: GPU-Auslastung um 99/100 %, dann GPU schuld). Falls die anderen Faktoren sinnvollerweise nicht limitieren können oder, wie im zweiten Satz, auch nach Veränderung keine Besserung ergeben, dann limitiert die CPU samt RAM zusammen als Recheneinheit. (falls möglich CPU samt RAM auch variieren und gucken, ob es besser wird, aber das wird meistens weniger einfach sein).
3) Ggf. Performancemessung der Anwendung selbst: Ggf. bietet die zu prüfende Anwendung einen eigenen Test an um zu sagen, welcher Faktor limitiert.
Externe Test lesen
4) Externe Benchmarks lesen
: Schauen, ob es im Internet für die Zielanwendung Benchmarks mit verschiedenen Prozessoren gibt und daran Performanceverbesserungen ausmachen.

Ggf. auch ein interessanter Link, falls man mehr Infos haben möchte über die hier im Thread genanten Probleme hinaus bei einer Messung mit dem TaskManager.

Ansonsten, falls jemand bessere weitere Messmöglichkeiten als die 4 genanten findet, gerne hier kommentieren, denn ich finde dieses ist ein wichtiges Thema um entscheiden zu können, ob ein kostspieliges CPU ggf. samt Mainboard und RAM-Upgrade lohnt.
 

Anhänge

  • Screenshot 2019-01-05 13.22.22.png
    Screenshot 2019-01-05 13.22.22.png
    18 KB · Aufrufe: 698
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: cool and silent
DoS007 schrieb:
2) Indirekt: Prüfen, ob die anderen Faktoren Grafikkarte, Festplatte, Internet (Latenz, Bandbreite) limitieren. Ggf. einzelne Faktoren ausschließen bzw. variieren,

Schöne Zusammenfassung, Punkt 2 erscheint mir am aussichtsreichsten. Ergänzend noch falls die technische Möglichkeit besteht:

CPU Geschwindigkeit mit Overclocking nach oben/unten variieren und den Effekt messen.
RAM Geschwindigkeit mit XMP / Overclocking variieren und den Effekt messen.
 
  • Gefällt mir
Reaktionen: DoS007
Zurück
Oben