[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: smp nur ein cpu unter last



Matthias Dryba <list@dryba.com>:

>bis auf das ich mit den zahlen nicht allzuviel anfange ist mir aufgefallen das 
>unter top angeblich 100% cpu last waren oben aber ständig 49% id waren.

Benchmarks laufen oft steng sequentiell und können daher die
Parallelisierungsmöglichkeiten durch die zweite CPU gar nicht nutzen.

Die 100% in der Prozessliste von top beziehen sich auf eine CPU.
Auf einem Zweiprozessorsystem können hier bei Multithreaded Prozessen
bis zu 200% auftauchen.

Die 49% Idle time in der Kopfzeile besagen dagegen, dass das Gesamtsystem
nur zur Hälfte ausgelastet ist. Das deutet darauf hin, dass der Benchmark
rein sequenziell abläuft. Das fehlende Prozent geht für Systemtasks drauf,
u.a. top selbst. ;-)

Wenn du in top die Taste 1 drückst, dann siehst du, wie sich die Last
auf die beiden CPUs verteilt.

>so wie ich das sehe wurde nur eine cpu genutzt. ist das korekt? muss das
>so? ist das mit allen sachen so und muss man das beide cpu genutzt werden
>noch was einstellen?

Am System musst du hier gar nichts einstellen. Linux teilt die lauffähigen
Prozesse von selbst in ziemlich optimaler Weise auf die CPUs zu. Das ist
auch der Grund, dass Linux inzwischen das bevorzugte Betriebssystem auf
High Performance Clustersystemen geworden ist.

Aber der Leistungsgewinn durch die zweite CPU kann eben nur dann ausgenutzt
werden, wenn die Anwendung es ermöglicht. Du könntest z.B. versuchen, zwei
Instanzen des Benchmarks gleichzeitig laufen zu lassen. ;-)

Gruß, Harald


Reply to: