Ottieni l'utilizzo di CPU e GPU su Raspberry Pi


22

Sto cercando di capire una buona divisione per CPU / GPU. C'è un modo per monitorare l'utilizzo della CPU e della GPU per vedere dove dovrei effettuare la divisione?


1
Questa domanda potrebbe esserti utile.
Jivings

1
IMO la domanda è confusa. Vuoi conoscere l'utilizzo della memoria per applicazione e grafica (in modo da poter definire la suddivisione) o vuoi conoscere il carico attuale di CPU / GPU?
keiki

@ otakun85 Voglio conoscere l'attuale utilizzo delle applicazioni in modo da poter prendere una buona decisione su dove effettuare la divisione
Scoop

@Jivings Sì, è stata una bella domanda. È bene sapere che alcune funzionalità si attivano e si disattivano in base alla quantità di memoria allocata alla GPU. Se possibile, anche se sarebbe utile conoscere anche l'uso esatto per determinare in quale categoria rientrerò
Scoop

Risposte:


13

Una soluzione semplice è far sì che Raspberry Pi stesso gestisca il modo in cui la RAM viene suddivisa tra CPU e GPU con suddivisione dinamica della memoria . Mentre raspi-config non può farlo per te, ci sono impostazioni di esempio per /boot/config.txt disponibili sui forum.


Grazie per questo. Non ero a conoscenza del fatto che la squadra avesse ottenuto la divisione dinamica giusta.
Vincent P

15

È possibile ottenere una visualizzazione in tempo reale dell'utilizzo della memoria utilizzando il comando topo htop. Potrebbe essere necessario installare htopse viene visualizzato il messaggio htop: command not found. Supponendo che tu stia utilizzando Raspbian, installalo eseguendolosudo apt-get install htop


2
Quali sono i vantaggi rispetto al normale top?
Morgan Courbet,

1
htop sembra essere "migliore" htop.sourceforge.net/index.php?page=comparison
Scoop

2
htopè più facile da usare. Uso sempre htopinvece ditop
w0rldart il

Inoltre, se stai usando una macchina multi-core come RPi 2, vedi il carico per ogni core in un bel grafico a barre, e per esempio quando vedi 'python' nella lista delle attività mostra l'intera riga comamnd in modo da guarda quale programma è in esecuzione
jpwynn,

@jpwynn Nota che con topte premi 1e vedrai anche tutti i processori. Ma sono d'accordo che htopè generalmente migliore / più facile da usare.
Alexis Wilke,

11

Fondamentalmente non è attualmente possibile ottenere l'utilizzo della GPU. È possibile ottenere solo l'utilizzo della CPU, provare il topcomando.

Aggiorna Raspbian ora include htopquale è più dettagliato e più facile da leggere

Per quanto riguarda la suddivisione ottimale CPU / GPU. Dipende davvero da cosa stai usando il tuo RPi. Se non stai riproducendo video e giochi (ottimizzazione GPU), dai alla CPU la maggior quantità di RAM. Anche se il tuo "headless" in esecuzione (non collegato a uno schermo) quindi assegnare alla CPU quanta più RAM possibile.

Chromium attualmente non utilizza la GPU, controlla il seguente thread . Viene da uno dei ragazzi che stanno sviluppando Chromium per il Raspberry Pi. Inoltre, ci sono alcuni suggerimenti su come far funzionare Chromium più velocemente nel post originale.


quindi il problema è che non sono sicuro che Chrome usi la GPU o no. E se lo fa, per quali tipi di cose. Sarebbe utile per l'uso della GPU, ma potrebbe non essere possibile
Scoop

@Scoop Ho aggiornato la mia risposta di conseguenza.
Vincent P

@Scoop From my test today (2018) il supporto per la GPU è incluso nel browser Chrome. Puoi vederlo andando a chrome://gpu.
Alexis Wilke,

7

Per monitorare l'utilizzo della RAM, è possibile eseguire free -h -s 1. Ogni secondo ( -s 1), verrà visualizzata una tabella simile:

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

La linea Mem:è ciò che stai cercando.

Nell'esempio sopra, puoi vedere che su un totale di 438 MB sono attualmente utilizzati 146 MB e 292 MB rimangono liberi. Sul mio RPi da 512 MB, ho impostato 64 MB per la GPU.


2
Si noti che questo non è in realtà l'utilizzo della CPU, è l'utilizzo della RAM.
Capanna 8

2

Per monitorare l'utilizzo di CPU, RAM e SWAP in Raspbian, è possibile utilizzare TOP o HTOP.

Nel terminale, esegui top. TOP è disponibile per impostazione predefinita e fornisce dettagli ragionevolmente buoni. TOP in Raspbian Terminal RPi3

Ma trovo HTOP più utile, con dettagli e funzionalità migliori disponibili. HTOP non è disponibile per impostazione predefinita e deve essere installato.

Esegui sudo apt-get update && sudo apt-get install htopin Terminal per installare HTOP.

Nel terminale, eseguire al htoptermine dell'installazione.

HTOP in Raspbian RPi 3

Spero che sia d'aiuto.


2

Il comando che ti darà un'idea di ciò che viene assegnato dalla GPU è sudo vcdbg reloc. L'output sembra quello che inizia qui. Nel mio caso, ho visto che il 236M allocato era troppo vicino al valore in /boot/config.txt-> gpu_mem=256quindi avevo bisogno di aumentarlo un po '.

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
Potrebbe essere un po 'confuso per le persone che hai detto: "Nel mio caso, ho potuto vedere che il 236M allocato era troppo vicino al valore in /boot/config.txt -> gpu_mem = 256", poiché a prima vista questo implica che hai ottenuto il primo numero dalla prima riga, che sarà sempre lo stesso. La quantità di memoria libera è effettivamente nella seconda stanza, e la quantità utilizzata sarebbe il valore allocato (236 M) meno questo. Quelli si accorderanno con vcgencmd get_mem reloce vcgencmd get_mem reloc_total. raspberrypi.org/forums/viewtopic.php?t=158157
goldilocks
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.