za to pytanie i odpowiedź - Python multiprocessing.cpu_count() returns '1' on 4-core Nvidia Jetson TK1 - wyjście multiprocessing.cpu_count()
funkcji Pythona na niektórych systemach odzwierciedla liczbę procesorów aktywnie użytkowej, w przeciwieństwie do liczby procesorów faktycznie użyteczny przez wywołujący program Python.Portable sposobem wykrywania liczby procesorów * * Użyteczna w Pythonie
Powszechnym idiomem Pythona jest użycie wartości zwracanej cpu_count()
w celu zainicjowania liczby procesów w Pool
. Jednak w systemach wykorzystujących strategię "dynamicznej aktywacji procesora", idiom ten łamie się raczej źle (przynajmniej w stosunkowo spokojnym systemie).
Czy jest jakiś prosty (i przenośne) sposób, aby uzyskać na liczbę użytkowych procesorów (w przeciwieństwie numer aktualnie w użyciu) od Pythona?
Uwagi:
to pytanie nie ma odpowiedzi od przyjętego odpowiedzi How to find out the number of CPUs using python, ponieważ, jak wspomniano w pytaniu połączonego na szczycie tym pytanie, drukowanie zawartości
/proc/self/status
pokazuje wszystkie 4 rdzenie jako dostępne dla programu.Moim zdaniem „przenośny” wyklucza jakąkolwiek podejście, które obejmuje analizowanie zawartości
/proc/self/status
, którego format może się różnić między wersjami systemu Linux, a które doesn `nawet istnieje na OS X. (To samo dotyczy każdy inny pseudo-plik również.)
Dang, ssie dla mnie, używam Pythona 2.7. :-) Picie na teraz (dostałeś prawdziwe rezultaty, wiesz?), Ale w końcu mogę zagłębić się w 'cffi' i to daje mi dobry przykład do wypróbowania. – Hephaestus