Bawię się scenariuszem i dobrze mnie porwie (nadal działa, a mój komputer jeszcze nie zmarł). Korzystam z 17 iteracji skryptu (z zamiarem awarii mojego komputera).
Patrząc na monitor aktywności, widzę, że każdy proces w Pythonie ma unikalny identyfikator i wydaje się, że każdy z nich zajmuje około 17-20% mojej mocy obliczeniowej ... Czy mój komputer magicznie zwiększył moc 200% i gdzieś złamał zasady termodynamiki?
macos
cpu
parallel-processing
Frankenmint
źródło
źródło
Odpowiedzi:
W OS X, podobnie jak inne * nixy, obciążenie procesora jest mierzone na rdzeń procesora wirtualnego. Jeśli masz wiele - możesz mieć 200% i więcej łącznie pod pełnym obciążeniem.
Różni się to od systemu Windows i być może niektórych innych systemów, w których obciążenie procesora jest obliczane na cały procesor (lub procesory - nie pamiętam, jak się zachowuje, mając wiele procesorów fizycznych).
źródło
OS X i Linux oraz ewentualnie inne systemy operacyjne UNIX (a raczej najpopularniejsze narzędzia w tych systemach) wyświetlają użycie procesora inaczej niż Windows. W systemie Windows 100% oznacza „ wszystkie wykorzystane zasoby procesora”. W systemie Linux oznacza to, że jeden „wątek” (jak w Hyper-Threading) jest całkowicie zajęty. W związku z tym może sięgać
(Number of Threads per Core) * (Number of Cores per CPU) * (Number of CPUs)
łącznie.Chociaż nie do końca spokrewniony, kolejny interesujący fakt: Windows 10 dalej normalizuje użycie procesora, wykorzystując aktualny stan dławienia procesora. Tak więc procesor 2 GHz pracujący z przepustnicą 1 GHz będzie zajęty tylko do 50%.
źródło
top
zachowuje.Jak już wspomniano w kilku odpowiedziach, Mac pokazuje procent procesora każdego procesu jako „procent jednego rdzenia”, dlatego powinieneś podzielić go przez liczbę rdzeni [włączając HT jako „podwójne”]
Jeśli nie masz pewności, ile masz wirtualnych rdzeni, Cmd ⌘ 3 wyświetli się panel Historia procesora Monitora aktywności, w którym możesz po prostu policzyć paski;)
Bezpośrednio poniżej miejsca, w którym odcięto obraz, są informacje potrzebne do szybkiego określenia rzeczywistego całkowitego zużycia dla Systemu :, Użytkownik: i Bezczynność: Na tym polega twoja prosta suma do 100%
źródło
Monitor aktywności nie mierzy mocy obliczeniowej, z której korzysta każda aplikacja / proces, po prostu szacuje ją za pomocą algorytmu. Może to być niedokładne ...
Ponadto, jak wskazuje @Vasfed, zużycie procesora jest mierzone na rdzeń procesora. Wiele rdzeni może oznaczać zużycie wyższe niż 100% ...
Geek od czasu do czasu napotyka na to zjawisko i jest oszołomiony, dopóki Superuser nie przyjdzie mu z pomocą ...; D
źródło