górna komenda na procesorze wielordzeniowym Ubuntu pokazuje użycie procesora> 100%

17

wprowadź opis zdjęcia tutaj

Mam Ubuntu działający na wielordzeniowym procesorze z 32 rdzeniami. Kiedy sprawdzam użycie procesora za pomocą polecenia top, czasami pokazuje więcej niż 100%, np. 340%, 650% itd. Przeprowadziłem dochodzenie i odkryłem, że jest to suma zastosowań różnych rdzeni. Na przykład, jeśli pierwsze użycie procesora wynosi 20%, drugie to 30%, trzecie to 40%, a pozostałe to 0%, wówczas „góra” pokazuje 20 + 30 + 40 = 90%.

To trochę mylące i wprowadzające w błąd. Uważam, że górne polecenie powinno wyświetlać zużycie procesora od 0 do 100 poprzez obliczenie zużycia we wszystkich rdzeniach. W powyższym przykładzie oczekiwałbym - (90 * 100) / 3200 = 2,8125%. Czy to błąd w poleceniu top? czy powinno to być traktowane jako rozszerzenie przyszłych wydań? proszę doradź

Poonam Srivatava
źródło
To nie jest błąd, jest to standardowe topzachowanie i prawdopodobnie jest zbyt małe, aby to zmienić. Nic nie stoi jednak na
przeszkodzie,
1
Z ciekawości, jaki to procesor? Jeden z tych nowomodnych systemów ARM64?
0xF2,
CPU1 i CPU2 - Intel (R) Xeon (R) CPU E5-2670 @ 2,60 GHz (8 rdzeni)
Poonam Srivatava

Odpowiedzi:

23

Domyślnie topwyświetla użycie procesora jako procent jednego procesora. W systemach wielordzeniowych procent wykorzystania procesora jest większy niż 100%. Możesz zmienić to zachowanie, naciskając Shift+, igdy top jest uruchomiony, aby pokazać ogólny procent dostępnych procesorów w użyciu.

htopjest lepszą alternatywą dla top. W htop, można zobaczyć, jak programy spożywania wszystkich 32 rdzeni.

Tung Tran
źródło
Witam - dziękuję za ten wgląd. Jestem nowy w pracy z systemem wielordzeniowym, więc zastanawiam się, dlaczego w tym przypadku wykorzystywane są wszystkie rdzenie. Mam podobne zachowanie czasami, gdy nie wykonuję operacji równoległych. Wydaje się, że zależy to od wielkości mojej operacji i wymaganej pamięci (pracuję z R). Wszystko wydaje się zwalniać, gdy nastąpi przeniesienie na inne procesory.
Marc w pudełku
1

wygląda na to, że znalazłem sposób :-) jeśli przełączę się do trybu solaris podczas uruchamiania polecenia top, pokaże prawidłowe użycie procesora. Aby przejść do trybu solaris, najpierw uruchom górne polecenie, a następnie naciśnij shift + i

artykuły referencyjne

https://help.gnome.org/users/gnome-system-monitor/stable/solaris-mode.html.en /unix/15733/why-process-cpu-usage-larger -than-total-cpu-time

Poonam Srivatava
źródło