So wie ich den Load unter Linux verstanden habe, gibt der Wert an, wie viele Prozesse den Prozessor genutzt haben oder auf andere Ressourcen gewartet haben, wie z.B. die Festplatte. Der Load ist daher nicht gleichzusetzen mit der CPU-Auslastung. Wenn mehrere Prozesse die Festplatte stark belasten, kann der Load hoch sein, obwohl der Prozessor selbst kaum ausgelastet ist. Das wichtigste scheint zu sein, dass der Load-Wert nicht absolut ist wie ein Prozentwert bei der CPU-Auslastung. Sondern relativ zur Anzahl der Kerne. Auf einem 1-Kern Prozessor würde ein Load von 1.5 also bedeuten, dass das System überlastet ist und die Hälfte der Prozesse warten mussten.

Heutzutage sind natürlich seit Jahren Prozessoren mit mehreren Kernen Standard. Ein Load von 1.5 wäre auf einem Quadcore-System unproblematisch. Spannender wird es jetzt bei Prozessoren, die nicht nur mehrere Kerne haben, sondern auch noch mehrere logische Prozessoren. Das scheint es auch schon seit längerem zu geben.

Nehmen wir mal ein Beispiel: Der i7-920 ist aus dem Jahre 2008 und besitzt 4 Kerne mit 2 logischen Prozessoren. Laut Linux habe ich mit so einem System einen 8-Kerner:
Code:
# cat /proc/cpuinfo | grep "model name" | wc -l
8
Folglich entspricht auf so einem System ein Load von 8 einer Vollauslastung, und nicht 4? Stimmt das?
Wenn ja, warum wird dies so kompliziert gehandhabt? Es wäre doch logischer, einfach zu sagen der Prozessor hat 8 Kerne, statt 4 Kerne mit 2 logischen CPUs => 4 * 2 = 8 Kerne insgesamt.

Der Load kann natürlich entgegen dem Titel trotzdem über diesem Wert liegen, wenn das System überlastet wird, und sich somit Warteschleifen bilden. Das ist mir klar. Ich möchte gerne verstehen, was es mit diesen logischen Kernen auf sich hat, und ob ich in so einem Falle bei Load 8 oder eben nur 4 von Vollauslastung ausgehen kann. Der Unterschied ist bei heutigen Prozessoren ja doch enorm. Vor allem wenn man in den Serverbereich geht, wo weit stärkere CPUs mit mehr Kernen eingesetzt werden.