Uzyskaj wykorzystanie procesora i GPU na Raspberry Pi


22

Próbuję znaleźć dobry podział na procesor / GPU. Czy istnieje sposób monitorowania użycia procesora i GPU, aby zobaczyć, gdzie powinienem dokonać podziału?


1
To pytanie może być dla Ciebie przydatne.
Jivings

1
IMO pytanie jest mylące. Czy chcesz znać wykorzystanie pamięci dla aplikacji i grafiki (aby zdefiniować podział), czy chcesz znać bieżące obciążenie procesora / karty graficznej?
keiki,

@ otakun85 Chcę poznać bieżące użycie aplikacji, aby móc podjąć dobrą decyzję o tym, gdzie dokonać podziału
Scoop

@Jivings Tak, to było dobre pytanie. Warto wiedzieć, że niektóre funkcje włączają się i wyłączają w zależności od ilości pamięci przydzielonej do GPU. Jeśli to możliwe, dobrze byłoby również wiedzieć, jakie jest dokładnie użycie, aby określić, do której kategorii zaliczam się
Scoop

Odpowiedzi:


13

Jednym łatwym rozwiązaniem jest sprawienie, aby sam Raspberry Pi zarządzał sposobem podziału pamięci RAM między procesorem i kartą graficzną za pomocą dynamicznego podziału pamięci . Chociaż raspi-config nie może tego zrobić dla ciebie, na forach dostępne są przykładowe ustawienia /boot/config.txt.


Dzięki za to. Nie wiedziałem, że zespół poprawnie rozdzielił dynamicznie.
Vincent P

15

Możesz uzyskać podgląd zużycia pamięci w czasie rzeczywistym za pomocą polecenia toplub htop. Może pojawić się konieczność instalacji, htopjeśli pojawi się ten komunikat htop: command not found. Zakładając, że używasz Raspbian, zainstaluj go, uruchamiającsudo apt-get install htop


2
Jakie są zalety w stosunku do zwykłego top?
Morgan Courbet

1
htop wydaje się być „lepszy” htop.sourceforge.net/index.php?page=comparison
Scoop

2
htopjest bardziej przyjazny dla użytkownika. Zawsze używam htopzamiasttop
w0rldart

Dodatkowo, jeśli używasz maszyny wielordzeniowej, takiej jak RPi 2, widzisz obciążenie dla każdego rdzenia na ładnym wykresie słupkowym, a na przykład, gdy widzisz „python” na liście zadań, pokazuje całą linię comamnd, więc możesz zobacz, który program jest uruchomiony
jpwynn

@ jpwynn Zauważ, że wraz z toptobą naciśnij 1i zobaczysz również wszystkie procesory. Ale zgadzam się, że htopjest ogólnie lepszy / łatwiejszy w użyciu.
Alexis Wilke

11

Zasadniczo nie można obecnie uzyskać użycia GPU. Możesz uzyskać tylko użycie procesora, spróbuj wykonać toppolecenie.

Aktualizacja Raspbian obejmuje teraz to, htopco jest bardziej szczegółowe i łatwiejsze do odczytania

Odnośnie optymalnego podziału CPU / GPU. To naprawdę zależy od tego, do czego używasz RPi. Jeśli nie grasz w wideo i gry (zoptymalizowane pod kątem GPU), daj procesorowi najwięcej pamięci RAM. Również jeśli działasz „bez głowy” (nie podłączony do ekranu), przydziel procesorowi tyle pamięci RAM, ile możesz.

Chromium nie korzysta obecnie z GPU, sprawdź następujący wątek . To od jednego z facetów zajmujących się opracowywaniem Chromium dla Raspberry Pi. Jest też kilka wskazówek, jak sprawić, by Chromium działał szybciej w oryginalnym poście.


więc problem polega na tym, że nie jestem pewien, czy chrome używa GPU, czy nie. A jeśli tak, to dla jakich rodzajów rzeczy. Byłoby użyteczne przy użyciu GPU, ale może nie być możliwe
Scoop

@Scoop Zaktualizowałem odpowiednio swoją odpowiedź.
Vincent P

@Scoop Z mojego testu dzisiaj (2018) wsparcie dla GPU jest zawarte w przeglądarce Chrome. Możesz to zobaczyć, przechodząc do chrome://gpu.
Alexis Wilke

7

Aby monitorować użycie pamięci RAM, możesz uruchomić free -h -s 1. Co sekundę ( -s 1) wyświetlana będzie podobna tabela:

             total       used       free     shared    buffers     cached
Mem:          438M       146M       292M         0B        15M       102M
-/+ buffers/cache:        28M       409M
Swap:          99M         0B        99M

Linia Mem:jest tym, czego szukasz.

W powyższym przykładzie widać, że łącznie 438 MB jest obecnie używanych 146 MB, a 292 MB pozostaje bezpłatnych. Na moich 512 MB RPi ustawiłem 64 MB na GPU.


2
Pamiętaj, że tak naprawdę nie jest to użycie procesora, lecz użycie pamięci RAM.
Hut8

2

Aby monitorować użycie procesora, pamięci RAM i SWAP w Raspbian, możesz użyć TOP lub HTOP.

W terminalu uruchom top. TOP jest domyślnie dostępny i zawiera dość dobre szczegóły. TOP w Raspbian Terminal RPi3

Ale uważam, że HTOP jest bardziej przydatny, z lepszymi szczegółami i dostępnymi funkcjami. HTOP nie jest domyślnie dostępny i musi zostać zainstalowany.

Uruchom sudo apt-get update && sudo apt-get install htopw terminalu, aby zainstalować HTOP.

W terminalu uruchom htoppo zakończeniu instalacji.

HTOP w Raspbian RPi 3

Mam nadzieję, że to pomaga.


2

Polecenie, które da ci wgląd w to, co jest przydzielane przez GPU, to sudo vcdbg reloc. Wyjście wygląda tak, jak zaczyna się tutaj. W moim przypadku mogłem zauważyć, że przydzielone 236M było zbyt bliskie wartości w /boot/config.txt->, gpu_mem=256więc musiałem trochę podnieść.

Relocatable heap version 4 found at 0x30000000
total space allocated is 236M, with 234M relocatable, 2.3M legacy and 0 offline
1 legacy blocks of size 2359296

free list at 0x3ad9aaa0
352 free memory in 2 free block(s)
largest free block is 320 bytes

0x30000000: legacy block 2.3M
0x30240000: free 320
[  80] 0x30240140: used  608 (refcount 1 lock count 0, size      540, align    4, data 0x30240160, d0rual) 'GLXX_TEXTURE_T'
[  78] 0x302403a0: used  192 (refcount 1 lock count 0, size      128, align    4, data 0x302403c0, D1rual) 'GLXX_BUFFER_INNER_T.storage'

1
Może to być nieco mylące dla osób, które powiedziałeś: „W moim przypadku mogłem zauważyć, że przydzielone 236M było zbyt bliskie wartości w /boot/config.txt -> gpu_mem = 256”, ponieważ na pierwszy rzut oka oznacza to, że masz pierwszy numer z pierwszego wiersza, który zawsze będzie taki sam. Ilość wolnej pamięci faktycznie znajduje się w drugiej zwrotce, a wykorzystana ilość to przydzielona wartość (236 M) minus to. Będą zgodne z vcgencmd get_mem reloci vcgencmd get_mem reloc_total. raspberrypi.org/forums/viewtopic.php?t=158157
goldilocks
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.