
Als Haftungsausschluss: Ich habe verwandte Fragen zu diesem Thema gelesen, bin aber immer noch etwas verwirrt hinsichtlich der Situation, die ich sehe.
und auch:
Top- und Durchschnittslast verstehen
Ich bin besorgt über die Auslastung eines meiner Server.
Beim Ausführen von htop wird angezeigt, dass ich 40 Kerne habe. Meine durchschnittlichen Auslastungen liegen bei 9,35, 9,58 und 8,55.
Ich dachte zunächst, das sei hoch, aber auf dem Server sind folgende Prozessoren installiert: INTEL XEON E5-2650V3 (2,3 GHz/10-CORE/25 MB/105 W) FIO-PROZESSOR-KIT INTEL XEON E5-2650V3 (2,3 GHz/10-CORE/25 MB/105 W) PROZESSOR-KIT
Was mich verwirrt, ist, dass ich nicht sicher bin, warum htop 40 Kerne auflistet, ich aber nur zwei 10-Kern-Prozessoren habe.
2 Fragen:
Wenn ich zwei 10-Kern-Prozessoren habe (insgesamt 20 Kerne), ist eine Auslastung von 10 sinnvoll?
Und warum zeigt htop oben 40 Kerne an?
Antwort1
Eine Auslastung von 10 ist in diesem Fall angemessen. Als Faustregel gilt, dass die durchschnittliche Auslastung geringer sein sollte als die Gesamtzahl der Kerne. Der Grund dafür, dass Sie scheinbar die doppelte Anzahl an Kernen haben, istHyperthreading. Hier ein Auszug aus dem verlinkten Wikipedia-Artikel:
Für jeden physisch vorhandenen Prozessorkern adressiert das Betriebssystem zwei virtuelle oder logische Kerne und verteilt die Arbeitslast, wenn möglich, zwischen ihnen. Die Hauptfunktion von Hyperthreading besteht darin, die Anzahl unabhängiger Anweisungen in der Pipeline zu erhöhen. Dabei wird die superskalare Architektur genutzt, bei der mehrere Anweisungen parallel auf separaten Daten arbeiten. Mit HTT erscheint ein physischer Kern dem Betriebssystem als zwei Prozessoren, und das Betriebssystem kann jeden Kern verwenden, um zwei Prozesse gleichzeitig zu planen. Darüber hinaus können zwei oder mehr Prozesse dieselben Ressourcen verwenden: Wenn Ressourcen für einen Prozess nicht verfügbar sind, kann ein anderer Prozess fortfahren, wenn seine Ressourcen verfügbar sind.
Antwort2
Sie haben zwei 10-Core-CPUs, also insgesamt 20 Kerne, aber jeder dieser Kerne ist hyperthreaded und erscheint dem Betriebssystem als zwei CPUs: Sie haben also insgesamt 40 CPUs. (Ich vereinfache das ein wenig; der Kernel kennt den Unterschied zwischen Kernen und Threads und berücksichtigt ihn.) Das wird htop
angezeigt.
Was Ihre Last betrifft, ist 10 in Ordnung; eine Faustregel (angegeben in einem Kommentar zu einer Antwort aufSystemlast verstehen) ist, dass das Monitoring warnen sollte, wenn die Auslastung größer als die Anzahl der CPUs ist, in deinem Fall ist sie aber kleiner als die Anzahl der (realen) Kerne.