Najważniejsze polecenie na procesorze wielordzeniowym


46

Używam czterordzeniowego procesora IMX6 Freescale. Chcę wiedzieć, czy toppolecenie wyświetla użycie procesora przez wszystkie 4 rdzenie lub pojedynczy rdzeń. Widzę, że użycie procesora aplikacji jest takie samo w przypadku 4 rdzeni i jednego rdzenia. Zgadywałem, że użycie procesora przez aplikację wzrośnie na jednym rdzeniu i zmniejszy się na 4 rdzeniach, ale to się nie zmieniło.


5
spróbuj nacisnąć 1, gdy top jest uruchomiony
Dani_l

Czy możesz prosić o rozwinięcie. Tak jak w przypadku, gdy naciskam 1. Ponieważ otrzymuję ten niespójny wynik od 2 dni.
user3818847,

1
Która to aplikacja? Dlaczego Twoim zdaniem aplikacja powinna używać wielu rdzeni, jeśli są one dostępne? Istnieje wiele aplikacji, które działają na jednym procesorze / rdzeniu i dla których nikt nie zadał sobie trudu, aby je sparaliżować.
Anthon

2
Nie. w przypadku wielu rdzeni akumulują się one w ponad 100%. 4 rdzenie mogą osiągnąć nawet 800% z hiperwątkiem na każdym rdzeniu
Dani_l

1
Lubię do tego używać htop.
Richard

Odpowiedzi:


67

Nie jestem do końca pewien, o co tu pytasz. Tak, topdomyślnie pokazuje użycie procesora jako procent jednego procesora. Dlatego możesz mieć wartości procentowe> 100. W systemie z 4 rdzeniami możesz zobaczyć do 400% użycia procesora.

Możesz zmienić to zachowanie, naciskając I(to Shift+ ii przełącza „tryb Irix”) podczas topdziałania. Spowoduje to, że pokaże on procent wykorzystywanej dostępnej mocy procesora. Jak wyjaśniono w man top:

    1. %CPU  --  CPU Usage
       The task's share of the elapsed CPU time since the last screen
       update, expressed as a percentage of total  CPU  time.   In  a
       true  SMP environment, if 'Irix mode' is Off, top will operate
       in 'Solaris mode' where a task's cpu usage will be divided  by
       the  total  number  of  CPUs.  You toggle 'Irix/Solaris' modes
       with the 'I' interactive command.

Możesz też nacisnąć przycisk, 1który pokaże rozkład wykorzystania procesora na procesor:

top - 13:12:58 up 21:11, 17 users,  load average: 0.69, 0.50, 0.43
Tasks: 248 total,   3 running, 244 sleeping,   0 stopped,   1 zombie
%Cpu0  : 33.3 us, 33.3 sy,  0.0 ni, 33.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  : 16.7 us,  0.0 sy,  0.0 ni, 83.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  : 60.0 us,  0.0 sy,  0.0 ni, 40.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   8186416 total,  6267232 used,  1919184 free,   298832 buffers
KiB Swap:  8191996 total,        0 used,  8191996 free,  2833308 cached

1
z hyperthread Wierzę, że możesz zobaczyć do 800%, ponieważ / proc / cpuinfo pokaże każdy wątek jako procesor
Dani_l

@Dani_l tak, bez względu na to, czy „rdzeń” jest fizyczny czy wirtualny, nie ma znaczenia, jest on traktowany jako „procesor” przez top. Wyjście, które pokazuję, pochodzi z mojego laptopa, który ma pojedynczy fizyczny procesor z dwoma rdzeniami, z których każdy ma drugi logiczny rdzeń. W rezultacie topwidzi 4 rdzenie.
terdon

Przepraszam za nitpicking, w moim dayjobie musimy rozróżniać gniazda, rdzenie i wątki podczas rezerwowania zasobów. Chyba nawyk utknął.
Dani_l

9

wystarczy kliknąć „1”, gdy top jest uruchomiony


5
Ta odpowiedź jest w komentarzach od lat ... dodaj coś nowego.
yeti

0

Jeśli chcesz otworzyć topnatychmiast, wyświetlając osobne procesory bez konieczności naciskania 1, możesz skorzystać z tej -1opcji.

na przykład:

top -1

...
%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  : 44.7 us, 55.3 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  : 46.7 us, 53.3 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
...     
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.