Jak sam powiedziałeś, możesz nacisnąć przycisk, Haby wyświetlić wątki użytkownika.
Tylko dla odniesienia w przyszłości (i dla zabawy), Policzmy wykorzystanie procesora!
Trochę tła:
W nowoczesnym systemie operacyjnym istnieje program planujący. Ma to na celu zapewnienie, że wszystkie procesy i ich wątki mają równy udział czasu obliczeniowego. Nie będę się zbytnio planował (to naprawdę skomplikowane). Ale w końcu jest coś, co nazywa się kolejką uruchamiania . W tym miejscu wszystkie instrukcje wszystkich procesów ustawiają się w kolejce, aby poczekać na wykonanie kolejki.
Każdy proces umieszcza swoje „zadania” w kolejce uruchamiania, a gdy procesor jest gotowy, odsuwa je i wykonuje. Na przykład, gdy program przechodzi w tryb uśpienia, usuwa się z kolejki uruchamiania i wraca do „końca linii”, gdy jest gotowy do ponownego uruchomienia.
Sortowanie w tej kolejce ma związek z priorytetem procesów (zwanym także „ładną wartością” - tzn. Proces jest niezły pod względem zasobów systemowych).
Długość kolejki określa obciążenie systemu. Na przykład obciążenie 2,5 oznacza, że dla każdej instrukcji, z którą CPU może sobie poradzić w czasie rzeczywistym, są instrukcje 2,5 .
Nawiasem mówiąc, w systemie Linux obciążenie to jest obliczane w odstępach 10 ms (domyślnie).
Teraz na wartości procentowe wykorzystania procesora:
Wyobraź sobie, że masz dwa zegary, jeden nazywa się ti reprezentuje czas rzeczywisty . Mierzy sekundę na każdą sekundę. Drugi zegar, który nazywamy c. Działa tylko wtedy, gdy jest do przetworzenia. Oznacza to, że tylko gdy proces oblicza coś, zegar działa. Nazywa się to również czasem procesora. Każdy proces w systemie „ma” jeden z nich.
Wykorzystanie procesora można teraz obliczyć dla jednego procesu:

lub dla wszystkich procesów:

Na maszynie wielordzeniowej może to oczywiście dać wartość 3,9, ponieważ procesor może obliczyć obliczenia o wartości czterech sekund co sekundę, jeśli zostanie to doskonale wykorzystane.
Wikipedia podaje ten przykład:
Aplikacja działająca na 6-procesorowym komputerze z systemem UNIX tworzy trzy procesy UNIX w celu spełnienia wymagań użytkownika. Każdy z tych trzech procesów tworzy dwa wątki. Praca aplikacji jest równomiernie rozłożona na 6 niezależnych wątków wykonania utworzonych dla aplikacji. Jeśli nie jest wymagane oczekiwanie na zasoby, całkowity czas pracy procesora będzie sześciokrotnie przekraczany w czasie rzeczywistym.
Oto mały fragment kodu python, który to robi
>>> import time
>>> t = time.time()
>>> c = time.clock()
>>> # the next line will take a while to compute
>>> tuple(tuple(i**0.2 for i in range(600)) for i in range(6000))
>>> print (time.clock() / (time.time() - t)) * 100, "%"
66.9384021612 %
W idealnym świecie można wywnioskować, że obciążenie systemu wynosi 100 - 66,93 = 33,1%. (Ale w rzeczywistości byłoby to błędne z powodu skomplikowanych rzeczy, takich jak oczekiwanie we / wy, planowanie nieefektywności itp.)
W przeciwieństwie do obciążenia , obliczenia te zawsze będą skutkowały wartością między 0 a liczbą procesorów, tj. Między 0 a 1 lub 0 do 100%. Obecnie nie ma sposobu na rozróżnienie między komputerem, na którym są uruchomione trzy zadania, wykorzystujące 100% procesora, a komputerem, na którym działa milion zadań, wykonując prawie dowolną pracę na jednym z nich, również na poziomie 100%. Jeśli na przykład próbujesz zrównoważyć kilka procesów na wielu komputerach, wykorzystanie procesora jest prawie bezużyteczne. Ładunek jest tam, czego chcesz.
Teraz w rzeczywistości istnieje więcej niż jeden z tych zegarów przetwarzających. Na przykład jeden czeka na I / O. Możesz więc obliczyć wykorzystanie zasobów we / wy.
Może to nie było pomocne w stosunku do pierwotnego pytania, ale mam nadzieję, że jest interesujące. :)