Obtenez l'utilisation du processeur et du GPU sur Raspberry Pi

22

J'essaie de trouver une bonne répartition pour le CPU / GPU. Existe-t-il un moyen de surveiller l'utilisation du CPU et du GPU pour voir où je dois faire la séparation?

Scoop
la source
1
Cette question pourrait vous être utile.
Jivings
1
OMI, la question prête à confusion. Voulez-vous connaître l'utilisation de la mémoire pour l'application et le graphique (afin de pouvoir définir la répartition) ou voulez-vous connaître la charge CPU / GPU actuelle?
keiki
@ otakun85 Je veux connaître l'utilisation actuelle des applications afin de pouvoir prendre une bonne décision sur l'endroit où effectuer la scission
Scoop
@Jivings Oui, c'était une bonne question. Il est bon de savoir que certaines fonctionnalités sont activées et désactivées en fonction de la quantité de mémoire allouée au GPU. Si possible, il serait utile de connaître l'utilisation exacte pour déterminer dans quelle catégorie je tombe
Scoop

Réponses:

13

Une solution simple consiste à obtenir le Raspberry Pi lui-même pour gérer la façon dont la RAM est divisée entre le CPU et le GPU avec un partage de mémoire dynamique . Bien que raspi-config ne puisse pas le faire pour vous, il existe des exemples de paramètres pour /boot/config.txt disponibles sur les forums.

shapr
la source
Merci pour cela. Je ne savais pas que l'équipe avait obtenu le bon partage dynamique.
Vincent P
15

Vous pouvez obtenir une vue en temps réel de l'utilisation de la mémoire à l'aide de la commande topou htop. Vous devrez peut-être installer htopsi vous recevez le message htop: command not found. En supposant que vous utilisez Raspbian, installez-le en exécutantsudo apt-get install htop

Bert
la source
2
Quels sont les avantages par rapport à l'ordinaire top?
Morgan Courbet
1
htop semble être "meilleur" htop.sourceforge.net/index.php?page=comparison
Scoop
2
htopest plus convivial. J'utilise toujours htopau lieu detop
w0rldart
De plus, si vous utilisez une machine multicœur telle que RPi 2, vous voyez la charge pour chaque cœur dans un joli graphique à barres, et par exemple lorsque vous voyez «python» dans la liste des tâches, il affiche la ligne comamnd entière afin que vous voir quel programme est en cours d'exécution
jpwynn
@jpwynn Notez qu'avec topvous appuyez sur 1et vous voyez aussi tous les processeurs. Mais je suis d'accord que htopc'est généralement mieux / plus facile à utiliser.
Alexis Wilke
11

Fondamentalement, vous ne pouvez pas actuellement utiliser le GPU. Vous ne pouvez obtenir que l'utilisation du processeur, essayez la topcommande.

La mise à jour de Raspbian inclut désormais htopce qui est plus détaillé et plus facile à lire

Concernant la répartition optimale CPU / GPU. Cela dépend vraiment de la raison pour laquelle vous utilisez votre RPi. Si vous ne jouez pas à des vidéos et à des jeux (optimisé par GPU), donnez au processeur le plus de RAM. De plus, si vous exécutez "sans tête" (non connecté à un écran), affectez au processeur autant de RAM que possible.

Chromium n'utilise pas actuellement le GPU, vérifiez le fil suivant . C'est de l'un des gars qui font le développement de Chromium pour le Raspberry Pi. Il existe également des conseils sur la façon de faire fonctionner Chromium plus rapidement dans la publication d'origine.

Vincent P
la source
donc le problème est que je ne sais pas si Chrome utilise le GPU ou non. Et si c'est le cas, pour quels types de choses. Il serait utile pour l'utilisation du GPU, mais pourrait ne pas être possible
Scoop
@Scoop J'ai mis à jour ma réponse en conséquence.
Vincent P
@Scoop D'après mon test d'aujourd'hui (2018), la prise en charge du GPU est incluse dans le navigateur Chrome. Vous pouvez le voir en allant sur chrome://gpu.
Alexis Wilke
7

Pour surveiller l'utilisation de la RAM, vous pouvez exécuter free -h -s 1. Chaque seconde ( -s 1), un tableau similaire s'affiche:

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

La ligne Mem:est ce que vous recherchez.

Dans l'exemple ci-dessus, vous pouvez voir que, sur un total de 438 Mo, 146 Mo sont actuellement utilisés et 292 Mo restent libres. Sur mon 512 Mo RPi, j'ai défini 64 Mo pour le GPU.

Morgan Courbet
la source
2
Notez que ce n'est pas réellement une utilisation CPU, c'est une utilisation RAM.
Hut8
2

Pour surveiller l'utilisation du CPU, de la RAM et du SWAP dans Raspbian, vous pouvez utiliser TOP ou HTOP.

Dans le terminal, exécutez top. TOP est disponible par défaut et donne des détails raisonnablement bons. TOP dans Raspbian Terminal RPi3

Mais, je trouve que HTOP est plus utile, avec de meilleurs détails et fonctionnalités disponibles. HTOP n'est pas disponible par défaut et doit être installé.

Exécutez sudo apt-get update && sudo apt-get install htopdans Terminal pour installer HTOP.

Dans le terminal, exécutez une htopfois l'installation terminée.

HTOP dans Raspbian RPi 3

J'espère que ça t'as aidé.

Dr.Viper
la source
2

La commande qui vous donnera un aperçu de ce qui est alloué par le GPU est sudo vcdbg reloc. La sortie ressemble à ce qui commence ici. Dans mon cas, je pouvais voir que les 236 millions alloués étaient trop proches de la valeur de /boot/config.txt-> gpu_mem=256alors j'ai dû augmenter un peu cela.

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'
OutsourcedGuru
la source
1
Cela peut être un peu déroutant pour les gens que vous avez dit: "Dans mon cas, je pouvais voir que le 236M alloué était trop proche de la valeur dans /boot/config.txt -> gpu_mem = 256", car à première vue cela implique que vous avez obtenu le premier numéro de la première ligne, qui sera toujours le même. La quantité de mémoire libre est en fait dans la deuxième strophe, et la quantité utilisée serait la valeur allouée (236M) moins cela. Ceux-ci s'accorderont avec vcgencmd get_mem relocet vcgencmd get_mem reloc_total. raspberrypi.org/forums/viewtopic.php?t=158157
goldilocks