Notez qu'en fin de compte, vous ne pouvez pas faire grand-chose avec les connaissances, sauf si vous écrivez un outil pour modifier les fichiers de démarrage, ou si vous souhaitez simplement informer l'utilisateur de ce qu'il possède ou si sa configuration de démarrage actuelle tire pleinement parti du matériel. Un programme d'application sur l'ARM sous le noyau Linux ne peut réellement utiliser la mémoire supplémentaire que si elle a été accordée par le code de démarrage du GPU.
Chris Stratton
Réponses:
10
Comme vous l'avez dit, la cat /proc/cpuinfo | grep Revisioncommande vous donnera la révision de la carte. Veuillez noter que la révision est une valeur hexadécimale. Pour afficher l'équivalent décimal, exécutez cette commande printf '%d\n' 0x#, où #est la valeur hexadécimale affichée avec la commande précédente.
Selon le tableau suivant, les codes 13 , 14 et 15 représentent la carte 512 Mo.
Model and revision Decimal code(s) Hexadecimal equivalent
Model B Revision 1.0 2 0x2
Model B Revision 1.0 + ECN0001 (no fuses, D14 removed) 3 0x3
Model B Revision 2.0 4, 5, 6 0x4, 0x5, 0x6
Model B Revision 2.0 (512 MB) 13, 14, 15 0xd, 0xe, 0xf
Gardez à l'esprit que cela pourrait changer à l'avenir. Je suis sûr que les codes 13,14,15 signifieront toujours que vous avez 512 Mo de RAM mais il peut y en avoir d'autres. Et puis ce n'est pas une bonne idée de supposer que tous les codes> 13 ont 512 Mo car nous ne savons tout simplement pas si cela sera vrai. Donc, il ne devrait pas être utilisé dans les scripts, etc.
Krzysztof Adamski
1
Mon Pi est venu dans une boîte avec un autocollant disant "512 Mo de RAM" en grosses lettres mais /proc/cpuinfodit Revision : 0005. Je démarre à partir d'une image 2012-09-18-wheezy-raspbian.zipdehttp://www.raspberrypi.org/downloads
RedGrittyBrick
@RedGrittyBrick: Même chose pour moi. Je viens de recevoir mon Pi hier, et selon le blog officiel , j'ai une version RAM de 512 Mo (je peux voir "4G" sur la puce). Mais cat /proc/cpuinforenvoie la révision 5. La révision n'est-elle pas écrite dans le SoC? Raspian a-t-il besoin d'une mise à jour pour «reconnaître» la version RAM de 512 Mo?
Morgan Courbet
@Morgan: Comme la vôtre, la puce supérieure (RAM) sur le processeur de mon Pi est marquée Samsung K4P4G324EB et les informations de Samsung confirment qu'il s'agit de "128Mx32" = 4 GBit = 512 Mo. J'ai lu un élément du forum quelque part qui suggérait qu'une mise à jour du firmware était nécessaire (je suppose que c'est l'un des fichiers sur la carte SD)
RedGrittyBrick
@RedGrittyBrick: Je l'ai maintenant Revision: 000f. Probablement un récent dist-upgrade.
Morgan Courbet
7
Dans un système d'exploitation moderne tel que Linux, ce que vous devez vraiment vérifier, c'est la quantité de mémoire disponible pour un usage général; qui peut être inférieur au total installé physiquement. Ainsi, par exemple, un 512 Mo pi exécutant une installation destinée à un 256 Mo ne mettrait pas cette mémoire à votre disposition.
Ensuite, sur le pi, il y a le problème supplémentaire de la division de la mémoire CPU vs GPU - quelque chose de nettement inférieur à la mémoire actuelle serait même disponible pour l'utilisation du processeur ARM au moment du démarrage de Linux, car le processus de démarrage du GPU a déjà a réclamé un montant substantiel selon le fichier start.elf utilisé.
Pour répondre à la question directe, la première ligne de /proc/meminfoou la freecommande devrait vous indiquer la quantité totale de mémoire physique disponible pour Linux.
La quantité de mémoire disponible pour une application donnée est encore plus compliquée - le noyau, les tampons et d'autres applications réclameront de la mémoire. Et bien qu'elle ne soit peut-être pas couramment utilisée avec une carte SD comme seul «disque», une partition de swap pourrait faire dépasser la mémoire virtuelle physique par la mémoire virtuelle disponible.
Réponses:
Comme vous l'avez dit, la
cat /proc/cpuinfo | grep Revision
commande vous donnera la révision de la carte. Veuillez noter que la révision est une valeur hexadécimale. Pour afficher l'équivalent décimal, exécutez cette commandeprintf '%d\n' 0x#
, où#
est la valeur hexadécimale affichée avec la commande précédente.Selon le tableau suivant, les codes 13 , 14 et 15 représentent la carte 512 Mo.
Source: documentation de la communauté Element14
la source
/proc/cpuinfo
ditRevision : 0005
. Je démarre à partir d'une image2012-09-18-wheezy-raspbian.zip
dehttp://www.raspberrypi.org/downloads
cat /proc/cpuinfo
renvoie la révision 5. La révision n'est-elle pas écrite dans le SoC? Raspian a-t-il besoin d'une mise à jour pour «reconnaître» la version RAM de 512 Mo?Revision: 000f
. Probablement un récentdist-upgrade
.Dans un système d'exploitation moderne tel que Linux, ce que vous devez vraiment vérifier, c'est la quantité de mémoire disponible pour un usage général; qui peut être inférieur au total installé physiquement. Ainsi, par exemple, un 512 Mo pi exécutant une installation destinée à un 256 Mo ne mettrait pas cette mémoire à votre disposition.
Ensuite, sur le pi, il y a le problème supplémentaire de la division de la mémoire CPU vs GPU - quelque chose de nettement inférieur à la mémoire actuelle serait même disponible pour l'utilisation du processeur ARM au moment du démarrage de Linux, car le processus de démarrage du GPU a déjà a réclamé un montant substantiel selon le fichier start.elf utilisé.
Pour répondre à la question directe, la première ligne de
/proc/meminfo
ou lafree
commande devrait vous indiquer la quantité totale de mémoire physique disponible pour Linux.La quantité de mémoire disponible pour une application donnée est encore plus compliquée - le noyau, les tampons et d'autres applications réclameront de la mémoire. Et bien qu'elle ne soit peut-être pas couramment utilisée avec une carte SD comme seul «disque», une partition de swap pourrait faire dépasser la mémoire virtuelle physique par la mémoire virtuelle disponible.
la source