Raspberry Pi 3 a moins de 1 Go de mémoire disponible au niveau du système d'exploitation

13

Je ne sais pas si c'est un problème critique ou non. Mais, je dois me débarrasser des points d'interrogation dans mon esprit.

J'ai récemment acheté une carte Raspberry Pi 3 et pendant que je jouais avec, j'ai réalisé que meminfo montre une taille de mémoire physique beaucoup moins (~ 880 Mo) supérieure à 1 Go (ce qui est spécifié sur le site officiel ).

root@mypi:~# cat /proc/meminfo 
MemTotal:         882780 kB
MemFree:          536068 kB
MemAvailable:     712180 kB

La quantité de mémoire disponible pour le GPU est de 16 Mo (qui est la limite minimale autorisée) vérifiée deux fois sur l'élément de menu raspi-config correspondant.

raspi-config -> Advanced Options -> Memory Split

Configuration de démarrage indique également que gpu_mem est 16MB .

root@mypi:~# cat /boot/config.txt | grep -i gpu
gpu_mem=16

Pour réduire l'espace du problème, voici les informations système. Soit dit en passant, le système est à jour.

Version du système d'exploitation:

root@mypi:~# cat /etc/os-release | grep PRETTY_NAME
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"

Version du noyau:

root@mypi:~# uname -a
Linux mypi 4.4.23-v7+ #913 SMP Tue Oct 4 14:16:19 BST 2016 armv7l GNU/Linux

Configuration vmsplit du noyau:

root@mypi:~# zcat /proc/config.gz | grep CONFIG_VMSPLIT | grep -v ^#
CONFIG_VMSPLIT_2G=y

J'ai donc 2 questions:

  • Où est la mémoire de 128 Mo manquante?
  • Qu'est-ce qui cause cette situation?
vaha
la source
quel est le système d'exploitation que vous utilisez - raspbian / arch / other? cat /etc/os-releasedevrait dire cela. quelle est la version du noyau? uname -adevrait donner cela. cela devrait aider à réduire les causes probables. la mise à jour rpi a-t-elle réellement fonctionné ou produit des avertissements?
Shreyas Murali
Des informations détaillées sont ajoutées au texte de la question.
vaha
C'est probablement le même problème que joan a suggéré dans l'autre fil. Vérifiez avec zcat /proc/config.gz|grep CONFIG_VMSPLIT . Seulement, la solution avec rpi-update ne fonctionne pas car il n'y a pas encore de noyau plus récent pour le Pi3. Mais vous pouvez recompiler votre noyau avec une mémoire de 2 Go / 2 Go divisée vous-même.
Janka
1
Ceci est parfaitement normal, mon Pi3 affiche MemTotal: 882776 kB MemFree: 126868 kB MemAvailable: 689576 kB"Dans des circonstances normales, il n'est JAMAIS nécessaire d'exécuter rpi-update car il vous amène toujours au firmware et au noyau de pointe et parce que cela peut être une version de test, il pourrait laisser votre RPi non amorçable". raspberrypi.org/forums/viewtopic.php?p=916911#p916911
Milliways
Que vcgencmd get_mem arm && vcgencmd get_mem gpumontre-t-on?
Milliways

Réponses:

14

Si la sortie de vcgencmd get_mem arm && vcgencmd get_mem gpuest

arm=880M
gpu=128M

Cela signifie que le GPU utilise 128M.

Cela peut être vérifié / modifié raspi-config Advanced Options, même si je n'ai pas réduit le GPU moi-même. Je vais de mémoire, mais je pense que c'est la valeur par défaut, peut-être liée à la caméra. Au moins, vous savez maintenant où se trouve votre mémoire.

Milliways
la source
Oui, tout tourne autour de la caméra.
vaha
880M et 128M totalisent 1008M. Où est l'autre 16M?
v7d8dpo4
@ v7d8dpo4 De la question:memory size for GPU is 16MB
David Starkey
9

Tout d'abord, je donne mes meilleures salutations à @Milliways pour avoir suggéré de vérifier 2 commandes simples.

vcgencmd get_mem arm && vcgencmd get_mem gpu

Où est la mémoire de 128 Mo manquante?

Même si les deux raspi-configet /boot/config.txtdit que la quantité de mémoire disponible pour GPU est 16MB, les valeurs réelles sont 880MB pour CPU, 128 Mo pour GPU.

root@mypi:~# vcgencmd get_mem arm && vcgencmd get_mem gpu
arm=880M
gpu=128M

Ainsi, la mémoire de 128 Mo manquante (en fait non manquante) est réservée au GPU .

Qu'est-ce qui cause cette situation?

/boot/config.txtComprend même la ligne gpu_mem=16, il existe une autre ligne qui active le module caméra.

root@mypi:~# cat /boot/config.txt | grep -i start_x
start_x=1

Ainsi, l' activation du module de caméra entraîne une réservation de mémoire de 128 Mo pour le GPU, ce qui est implicite ici .

En bref, nous pouvons dire que cela l' start_x=1emporte gpu_mem=16.

Après avoir désactivé le module caméra par start_x=0, voici les valeurs de la mémoire:

root@mypi:~# vcgencmd get_mem arm && vcgencmd get_mem gpu
arm=992M
gpu=16M
vaha
la source
2
Oui, la caméra par défaut est une réservation de 128 Mo. Il peut fonctionner avec des divisions inférieures (si je me souviens bien, jusqu'à 32 Mo) mais avec des fonctionnalités plus limitées (moins de mémoire, plus les résolutions que vous pouvez gérer et ainsi de suite). Si le partage est trop petit (comme 16 Mo), il sera juste par défaut à 128.
Dave Jones
-1

Mis à part l'option rpi-update, il semble qu'il existe une autre raison (possible) pour laquelle la mémoire signalée est inférieure. Cette fois, cela a à voir avec les divisions de mémoire espace noyau / espace utilisateur. Cet article détaille le correctif qui implique de modifier la configuration de construction du noyau et de la reconstruire à partir du code source. Un utilisateur a signalé un succès

par tesla01 »jeu. 05 févr. 2015 20:04 Bonjour, je confirme que l'option 2G / 2G fonctionne lorsque vous utilisez un noyau personnalisé

5 février 19:17:12 noyau raspberrypi: [0.000000] Mémoire: 940776K / 966656K disponible (code de noyau 5785K, rwdata 377K, rodata 1760K, init 396K, bss 771K, 25880K réservés)

Merci :)

Vous devrez vérifier que c'est bien la cause (en vérifiant la valeur de CONFIG_VMSPLITis CONFIG_VMSPLIT=3Gor or CONFIG_VMSPLIT=2G) car certains messages plus bas dans ce lien rapportent le succès comme ceci

par birdman »jeu 12 février 2015 22h01 Juste cette minute avait une mise à jour de libraspberrypi- * et raspberrypi-bootloader. noyau maintenant 3.18.7-v7 +. la mémoire est maintenant signalée par le haut comme "Mem KiB: 998096"

Merci!!

tandis que d'autres n'ont pas eu les mêmes résultats

Malheureusement, je ne suis pas près de mon IP pour vérifier aucune de ces affirmations.

Shreyas Murali
la source