von Purgatory » 24.06.2023, 19:39
Also, im Prinzip ist die Frage recht einfach beantwortet aber ich muss trotzdem etwas *hust* weiter ausholen.
Die eine CPU hat zwei Kerne und vier Threads, die andere vier und acht Threads. Seit Windows 8(.1) will Windows vieles richtig machen.
Mit spätestens 8.1 hatte jeder zumindest einen Dualcore irgendwie am Start gehabt. Vorbei waren die XP Zeiten wo im Leerlauf die CPU auf 100% gegängelt wurde um irgendwas abzuarbeiten, und wehe User griff unverhofft und wollte irgendwas starten. Daher ja auch viele Mythen die bis heute bestehen. Registry aufräumen und/oder defragmentieren, Suchindex abschalten, etc... etc... Unter XP alles noch nachvollziehbar, also so halbwegs, spätestens seit Windows 8 (und ich nehme 7 da nicht komplett raus) aber definitiv Mythos.
Worüber ich hier gerade rede ist der Singlecore vs. Dualcore. Während XP, und viele Vista/7er Systeme noch mit einem Kern zurecht kommen mussten, war bei Windows 8 sozusagen Schluss. Und ja, auch das lief auf Einkernprozessoren.
Seit Windows Vista hat MS aber den Scheduler angepasst. Soll heißen es wurde immer ein wenig von der Prozessorlast übrig gelassen um möglichst schnell auf Nutzereingaben reagieren zu können. Während XP aus dem vollen geschöpft hat im Leerlauf und der CPU alles abverlangt hat, legt der Scheduler seit Vista nur (Schätzwert) 70-80% an. Der Rest bleibt dafür, dass ein Prozess nicht langwierig abgebrochen werden muss nur weil der Nutzer unverhofft was machen will.
Seit Windows 10 hat der Scheduler sich ordentlich verbessert und wurde mit Windows 11 nochmals verbessert.
Angekommen im Multicore Zeitalter könnte man jetzt denken ein Core wird komplett ausgelastet während der andere vor sich hindümpelt und auf eine Nutzereingabe wartet. Ganz so einfach ist es aber nicht. Inzwischen sucht sich Windows die besten Kerne raus (also jene wo die höchste Taktrate erreicht wird) um möglichst schnell die Rechenaufgaben absolvieren zu können.
Die Krux dabei ist jetzt Windows Vista und das seitdem mitgeschleppte. Windows 10 ist klar auf Multicore optimiert, auch wenn es keinen Multicore benötigt um zu laufen. Hier kämen noch Energiesparmaßnahmen moderner CPUs ins Spiel, aber das würde das Thema endgültig sprengen.
Wir halten also fest. Seit Vista gab es Multicores, und MS hat darauf reagiert. Jetzt könnte man denken bei einem Dualcore, zu jeweils 25% Last würde Windows auch nur 25% anzeigen, dem ist aber nicht so. Während Kern 1 sozusagen wichtiges abarbeitet ist Kern zwei damit beschäftigt irgendwas anderes zu machen, Suchindex als Beispiel. Die Auslastung im Gerätemanager liegt dann nicht bei 25%, sondern nur bei angenommen 18%, weil nur die 18% wirklich wichtig sind.
Kommen mehr Kerne ins Spiel, bzw. Threads, verschwimmt diese Zahl und Windows priosiert anders. Mehr Threads stehen zur Verfügung um mehr abarbeiten zu können. Das ist auch ok so. Bringen wir jetzt den Taskmanager wieder ins Spiel und wir haben 8 Threads werden auch mehr genutzt. Windows arbeitet also mit 25% auf angenommen 4 Threads, lässt aber 4 dafür frei. Und jetzt ist die CPU nicht mehr mit 18% beschäftigt sondern auf einmal mit 25% oder mehr. Es stehen ja noch 4 freie Threads für irgendwas zur Verfügung.
Verwirrend? Einfach erklärt spielt Windows auf dem i3 PingPong auf zwei Kernen, während es auf dem i5 aus vieren auswählen darf.
Da immer Rechenlast zur Verfügung stehen soll wenn User irgendwas macht bietet sich das auf vier Kernen viel mehr an als auf zweien.
Ergo belasten wir die vier Kerne zu 50% (wir haben ja auch noch vier virtuelle Kerne) und zeigen im Taskmanager auch 50% an.
Beim i3, der den Boost nicht erreicht, haben wir nur zwei echte Kerne, die belasten wir lieber mal mit nur 30% (auch wenn noch zwei virtuelle Kerne zur Verfügung stehen). Der i5 absolviert die Aufgaben aber definitiv schneller und wird, dank höherer Performance, auch mehr gefordert.
Man darf die CPU Auslastung, auch im Hinblick auf die Boostfrequenz, nicht gleichrechnen, vor allem wenn man zwei verschiedene CPUs fährt. Das ist ein normales Verhalten und darauf ausgelegt eine Rechenaufgabe möglichst schnell bewältigen zu können.
Also, im Prinzip ist die Frage recht einfach beantwortet aber ich muss trotzdem [i]etwas[/i] [b]*hust*[/b] weiter ausholen.
Die eine CPU hat zwei Kerne und vier Threads, die andere vier und acht Threads. Seit Windows 8(.1) will Windows vieles richtig machen.
Mit spätestens 8.1 hatte jeder zumindest einen Dualcore irgendwie am Start gehabt. Vorbei waren die XP Zeiten wo im Leerlauf die CPU auf 100% gegängelt wurde um irgendwas abzuarbeiten, und wehe User griff unverhofft und wollte irgendwas starten. Daher ja auch viele Mythen die bis heute bestehen. Registry aufräumen und/oder defragmentieren, Suchindex abschalten, etc... etc... Unter XP alles noch nachvollziehbar, also so halbwegs, spätestens seit Windows 8 (und ich nehme 7 da nicht komplett raus) aber definitiv Mythos.
Worüber ich hier gerade rede ist der Singlecore vs. Dualcore. Während XP, und viele Vista/7er Systeme noch mit einem Kern zurecht kommen mussten, war bei Windows 8 sozusagen Schluss. Und ja, auch das lief auf Einkernprozessoren.
Seit Windows Vista hat MS aber den Scheduler angepasst. Soll heißen es wurde immer ein wenig von der Prozessorlast übrig gelassen um möglichst schnell auf Nutzereingaben reagieren zu können. Während XP aus dem vollen geschöpft hat im Leerlauf und der CPU alles abverlangt hat, legt der Scheduler seit Vista nur (Schätzwert) 70-80% an. Der Rest bleibt dafür, dass ein Prozess nicht langwierig abgebrochen werden muss nur weil der Nutzer unverhofft was machen will.
Seit Windows 10 hat der Scheduler sich ordentlich verbessert und wurde mit Windows 11 nochmals verbessert.
Angekommen im Multicore Zeitalter könnte man jetzt denken ein Core wird komplett ausgelastet während der andere vor sich hindümpelt und auf eine Nutzereingabe wartet. Ganz so einfach ist es aber nicht. Inzwischen sucht sich Windows die besten Kerne raus (also jene wo die höchste Taktrate erreicht wird) um möglichst schnell die Rechenaufgaben absolvieren zu können.
Die Krux dabei ist jetzt Windows Vista und das seitdem mitgeschleppte. Windows 10 ist klar auf Multicore optimiert, auch wenn es keinen Multicore benötigt um zu laufen. Hier kämen noch Energiesparmaßnahmen moderner CPUs ins Spiel, aber das würde das Thema endgültig sprengen.
Wir halten also fest. Seit Vista gab es Multicores, und MS hat darauf reagiert. Jetzt könnte man denken bei einem Dualcore, zu jeweils 25% Last würde Windows auch nur 25% anzeigen, dem ist aber nicht so. Während Kern 1 sozusagen wichtiges abarbeitet ist Kern zwei damit beschäftigt irgendwas anderes zu machen, Suchindex als Beispiel. Die Auslastung im Gerätemanager liegt dann nicht bei 25%, sondern nur bei angenommen 18%, weil nur die 18% wirklich wichtig sind.
Kommen mehr Kerne ins Spiel, bzw. Threads, verschwimmt diese Zahl und Windows priosiert anders. Mehr Threads stehen zur Verfügung um mehr abarbeiten zu können. Das ist auch ok so. Bringen wir jetzt den Taskmanager wieder ins Spiel und wir haben 8 Threads werden auch mehr genutzt. Windows arbeitet also mit 25% auf angenommen 4 Threads, lässt aber 4 dafür frei. Und jetzt ist die CPU nicht mehr mit 18% beschäftigt sondern auf einmal mit 25% oder mehr. Es stehen ja noch 4 freie Threads für irgendwas zur Verfügung.
Verwirrend? Einfach erklärt spielt Windows auf dem i3 PingPong auf zwei Kernen, während es auf dem i5 aus vieren auswählen darf.
Da immer Rechenlast zur Verfügung stehen soll wenn User irgendwas macht bietet sich das auf vier Kernen viel mehr an als auf zweien.
Ergo belasten wir die vier Kerne zu 50% (wir haben ja auch noch vier virtuelle Kerne) und zeigen im Taskmanager auch 50% an.
Beim i3, der den Boost nicht erreicht, haben wir nur zwei echte Kerne, die belasten wir lieber mal mit nur 30% (auch wenn noch zwei virtuelle Kerne zur Verfügung stehen). Der i5 absolviert die Aufgaben aber definitiv schneller und wird, dank höherer Performance, auch mehr gefordert.
Man darf die CPU Auslastung, auch im Hinblick auf die Boostfrequenz, nicht gleichrechnen, vor allem wenn man zwei verschiedene CPUs fährt. Das ist ein normales Verhalten und darauf ausgelegt eine Rechenaufgabe möglichst schnell bewältigen zu können.