Ich habe vor kurzem einen 2010er Mac Pro gekauft.
Ich frage mich, warum alle 24 Threads bei CPU-intensiven Aufgaben nie über 50% ausgelastet sind. Mein Kollege hat einen 2009er Mac Pro mit 2,93 GHz und 8 Kernen, und wir haben beide versucht, eine DVD mit Handbrake zu konvertieren , und im Aktivitätsmonitor auf dem Mac Pro von 2009 waren alle 8 Kerne/16 Threads fast zu 100 % ausgelastet, aber auf dem Mac Pro von 2010 alle 12 Kerne/24 Threads gingen nie über 55 % Auslastung hinaus. Wir führen Mountain Lion auf beiden Mac Pros aus
Es könnte so einfach sein, dass die Anwendung, die Sie zum Testen verwendet haben, eine andere Ressourcenbeschränkung als die CPU hatte, die sie daran hinderte, die CPUs zu sättigen. Zum Beispiel war die Handbremse möglicherweise darin begrenzt, wie schnell sie Daten auf oder von der Festplatte streamen konnte. Das würde die Arbeit, die den CPUs übertragen werden könnte, einschränken. Angesichts der Tatsache, dass Ihre CPUs schneller und reichlicher als der ältere Mac sind, ist es nicht verwunderlich, die CPUs nicht mit der gleichen Arbeitslast zu sättigen.
E/A-Konkurrenz wird als Beispiel verwendet. Ohne Analyse weiß ich nicht, was verhindern würde, dass die CPUs der Engpass sind. Es könnte die Synchronisierung zwischen so vielen Threads, E/A, ein Mangel an Arbeit sein, die parallel erledigt werden kann usw.
Hier ist ein Schnelltest, mit dem Sie dem System unabhängige Aufgaben zuweisen können. Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus. Ändern Sie die 8, um die Anzahl der CPU-Kerne zu verdoppeln, die Sie haben. (doppelt, um Hyper-Threading zu ermöglichen)
for ((g=1;g<=8;g++)); do ( dd if=/dev/zero bs=100m count=10 | bzip2 -c > /dev/null & ); done
Das war genug, um meine CPU für 10-15 Sekunden zu beschäftigen. Ich habe ein Macbook Pro mit Quad-Core i7. Ihre CPUs benötigen möglicherweise mehr Arbeit, daher können Sie "count=10" auch in eine größere Zahl ändern.
Stefan
Tim B