Frage wegen Auslastung der CPU bei Anwendungen...

Senfgeist

Lt. Commander
Registriert
März 2007
Beiträge
1.083
Hey,

ich habe mal eine Verständnisfrage wegen der Auslastung der CPU bei Anwendungen. Ich nutze (siehe Signatur) einen i7 mit 3,2 GHz... vier Kerne also. Deren Auslastung sehe ich inkl. Temperatur pro Kern.

Ich arbeite viel mit Photoshop (CS4, 64-Bit Variante). Wenn ich z.b. ein groooßes Foto mit Transparenzen im PNG-Format speicher, muss der PC natürlich eine Weile rödeln. Während dem Speichervorgang bzw. dem Berechnen, sehe ich wie in vielen Programmen eine Art "Ladebalken". Soweit so gut... aber bei den Kernauslastungen sehe ich nie 100% oder so.. meist ein Kern mal mit 12%, maximal mal einen Moment kurz bei 30%, aber nie alle zusammen ... wieso wird die CPU da nicht zu 100% genutzt, also alle vier Kerne mit voller Auslastung!?

Ist jetzt nicht nur eine Frage bei Photoshop, sondern generell - egal wo etwas berechnet wird... ich sehe die CPU Auslastung nie bei 100%, nichtmal bei einem einzigen Kern. Würden Berechnungen, Speichervorgänge usw. nicht viel schneller laufen, wenn die CPU Kerne zu 100% ausgelastet werden (wie bei Prime95)??
 
Nun - 100 % Auslastung der ganzen CPU kommt nur zu Stande, wenn erstens nicht eine andere Komponente bremst, und andererseits nicht jedes Programm dafür gemacht ist, mehr als einen Kern zu verwenden. Auch Photoshop, das prinzipiell Multicore-optimiert ist, kann nicht bei jedem Schritt alles parallelisieren.

Warum du bei einer nicht Multicore-Anwendung nicht auf einem Kern 100 % Last hast? Ganz einfach: Es ist schneller, den Kern immer wieder zu wechseln (hängt irgendwie mit der Cache-Nutzung zusammen). So wird bei einer 1-Kern-Anwendung die Last über alle Kerne "verschmiert" - 25 % Last im Schnitt für jeden Kern also... Kannst aber unterbinden (was aber nichts bringt) - per Taskmanager o. Ä..

Gruß,
Lord Sethur
 
Siehst Du, so ist es aber bei mir nicht. Es ist nicht so, das jeder Kern 25% hat. Sondern vielleicht einer 12%, der andere 6%, fertig. Dann hat einer 30%, während die anderen nix haben oder einer noch 2% usw... also nie "zusammen 100%"... die Summe beträgt meist maximal 30-40% oder sowas. Auch bei Filterberechnungen, ganz egal. Wird da nicht Potential verschenkt?


So... habe mal ein Bild auf 9000 Pixel vergrößert... wusch, maximal ne Summe von 25% sogar... insgesamt alle vier Kerne... hm. Ging zwar trotzdem flott, aber wenn es auf 100% käme, wäre es doch flotter? Oder sehe ich da was falsch, Verständnisproblem?


Ich benutze gerade einen Aquarell-Filter auf ein 20.000 Pixel Bild an - nur zum Test. Es dauert dann schon :-) Klar... aber CPU maximal ne Summe von 20-25% Auslastung... mal nen Kern 12%, der andere 2% usw... wenn alle 100% hätten, wäre es doch WUUUUSCH, fertig?
 
Glaub mir - Photoshop holt sich der CPU raus, was es kann - sofern nicht andere Komponenten (prim HDD) bremsen.

Teilweise liegt sicher auch ein "Messproblem" vor - ein Kern hat ja schließlich auf kurze Zeiträume betrachtet immer entweder 100 oder 0 % Last...
 
Ok und was macht Prime genau anders?
 
Prime rechnet einerseits ohne "Input". Es werden keine Daten von der HDD oder sonst wo her benötigt, die exe muss nur einmal eingelesen werden - der Rest spielt sich nur im Speicher ab, je nach Settings wird nicht einmal dieser stark belastet.

Andererseits ist prime darauf ausgelegt, mehrere Threads gleichzeitig ablaufen zu lassen; im Prinzip wird es intern einfach zweimal gestartet, eine Parallelisierung ist hier also sehr einfach bzw. anders ausgedrückt gar nicht nötig.

Dadurch kann die CPU 100 %ig ausgelastet werden... Schreib dir ein Programm, das irgendwas sinnloses macht, das aber CPU-lastig ist (Endlosschleife). Und ruf es beziehungsweise lass es 8 mal aufrufen, dann hast auch 100 % Last...

Ein Quad-Core ist in der heutigen Zeit zwar bereits "nutzbar", damit meine ich, dass es durchaus möglich ist, davon zu profitieren. Aber so wirklich gut ist die Skalierung gegenüber einem Dual-Core noch nicht. Der Corei7 ist ja sogar auf 8 Threads ausgelegt - davon ist man noch weiter entfernt. Bis ein Quad-Core-CPU in der Art und Weise genutzt wird wie jetzt ein Dual-Core haben die meisten auf jeden Fall schon Octa-Cores^^ - mit 16 Threads oder noch mehr.

Gruß,
Lord Sethur
 
Zurück
Oben