Ich spiele mit einem Skript herum und bin hin und weg (es läuft noch und mein Computer ist noch nicht gestorben). Ich führe 17 Iterationen des Skripts aus (mit der Absicht, meinen Computer zum Absturz zu bringen).
Wenn ich mir den Aktivitätsmonitor ansehe, sehe ich, dass jeder Python-Prozess eine eindeutige PID hat und ungefähr 17-20% meiner Rechenleistung in Anspruch nimmt ... Wie ist das möglich? Hat mein Computer auf magische Weise 200% mehr Strom verbraucht und irgendwo die Gesetze der Thermodynamik gebrochen?
macos
cpu
parallel-processing
Frankenmint
quelle
quelle
Antworten:
Unter OS X wird die CPU-Auslastung wie bei anderen * Nixen pro virtuellem Prozessorkern gemessen. Wenn Sie mehrere haben, können Sie 200% und mehr unter Volllast kombinieren.
Dies unterscheidet sich von Windows und möglicherweise auch von einigen anderen Systemen, bei denen die CPU-Auslastung für die gesamte CPU berechnet wird (oder CPUs - ich kann mich nicht erinnern, wie sie sich verhält, wenn mehrere physische Prozessoren vorhanden sind).
quelle
OS X und Linux sowie möglicherweise andere UNIX-Betriebssysteme (oder besser gesagt die gängigsten Tools auf diesen Systemen) zeigen die CPU-Auslastung anders an als Windows. Unter Windows bedeutet 100% " alle verwendeten CPU-Ressourcen". Unter Linux bedeutet dies, dass ein "Thread" (wie beim Hyper-Threading) vollständig ausgelastet ist. Als solches kann es
(Number of Threads per Core) * (Number of Cores per CPU) * (Number of CPUs)
insgesamt bis zu erreichen .Eine weitere interessante Tatsache ist, dass Windows 10 die CPU-Auslastung unter Verwendung des aktuellen Drosselungszustands der CPU weiter normalisiert, obwohl dies nicht vollständig verwandt ist. Eine mit 1 GHz gedrosselte 2-GHz-CPU ist also nur zu 50% ausgelastet.
quelle
top
verhalte.Wie bereits in mehreren Antworten erwähnt, zeigt Mac den CPU-Prozentsatz jedes Prozesses als "Prozentsatz eines Kerns" an, sodass Sie diesen durch die Anzahl der Kerne dividieren sollten [einschließlich HT als "doppelt"].
Wenn Sie sich nicht sicher sind, über wie viele virtuelle Kerne Sie verfügen, Cmd ⌘ 3 wird der Bereich "CPU-Verlauf" von Activity Monitor geöffnet, in dem Sie einfach die Stripes zählen können.
Direkt unterhalb der Stelle, an der Sie das Bild abgeschnitten haben, befinden sich die Informationen, die Sie benötigen, um die tatsächliche Gesamtnutzung für System :, User: & Idle: Darin liegt Ihre einfache Summe zu 100%.
quelle
Activity Monitor misst nicht die Verarbeitungsleistung, die jede App / jeder Prozess verwendet, sondern schätzt sie nur mithilfe eines Algorithmus. So kann es ungenau sein ...
Wie @Vasfed hervorhebt, wird der CPU-Verbrauch pro Prozessorkern gemessen. Mehrere Kerne können eine Auslastung von mehr als 100% bedeuten ...
Ein Geek stößt gelegentlich auf dieses Phänomen und ist verblüfft, bis ein Superuser zu Hilfe kommt ...; D
quelle