W systemie Linux, jak stwierdzić, ile rdzeni komputera jest aktywnych? Zakładam, że test na to również działałby na Androidzie. Muszę wiedzieć, czy więcej niż jeden rdzeń jest kiedykolwiek aktywny. Zastanawiałem się, czy to sprawdzić, ponieważ proces tworzy wiele wątków. Czy wątek może zapytać, na którym procesorze się znajduje? w ten sposób można stwierdzić, czy wiele rdzeni będzie kiedykolwiek używanych pod dużym obciążeniem. Nie jestem pewien, czy jestem na dobrej drodze.
14
Odpowiedzi:
Możesz użyć,
top
aby wyświetlić listę wykorzystania każdego rdzenia. Naciśnij 1, jeśli to konieczne, aby podzielić rząd procesora na osobny rząd dla każdego rdzenia.Możesz także dodać kolumnę, która pokazuje ostatnio używany rdzeń dla każdego procesu. Naciśnij f, aby wyświetlić listę pól, a następnie j, aby aktywować kolumnę „P”. Następnie naciśnij spację, aby powrócić do podglądu na żywo.
źródło
top
na liście, aby osobno wyświetlić listę wątków. Możesz też napisać program z nieskończoną pętlą i uruchomić go kilka razy.ps
ma pole nazywanepsr
informacją, na którym procesorze działa zadanie.Więc możesz użyć czegoś takiego:
Pamiętaj, że samo działanie w
ps
ten sposób spowoduje, że przynajmniej jeden rdzeń będzie aktywny.Prawdopodobnie lepiej jest uruchomić to:
w ten sposób
sort
iwc
nie zwiększaj liczby.źródło
ps
, aktywujemy co najmniej 1 rdzeń. ;-)To polecenie działa dobrze zarówno w Ubuntu, jak i centos i pokazuje graficznie, ile procesorów i jak są one używane.
dla centos:
dla ubuntu:
źródło
Spróbuj wykonać następujące czynności:
Oto link do przykładu Java na Androida.
źródło
/proc/cpuinfo
mówi tylko, ile rdzeni ma system, a nawet ty musiałbyś zrobić więcej niżcat /proc/cpuinfo
wziąć pod uwagę HyperThreading.Możesz użyć cat / sys / devices / system / cpu /ossible lub cat / sys / devices / system / cpu / online. Możliwe jest głównie, jeśli izolujesz procesor, aby uruchomić jakiś konkretny program.
źródło