Est-il possible d'ajouter de la RAM au Raspberry Pi?


26

Est-il possible d'ajouter de la RAM à un Raspberry Pi?



2
La balise indique "pi-2" qui a un matériel différent de celui des pis précédents, et la puce RAM est, en fait, séparée. J'ai mis à jour votre question pour mieux refléter le tag, mais n'hésitez pas à le revenir et à supprimer le tag si vous ne parlez pas uniquement du PI 2.
Adam Davis

2
@ Jacobm001 Étant donné que le Pi 2 n'a pas été publié au moment de la publication de ce message, je pense que cette question n'est peut-être pas en double.
pydsigner

@AdamDavis Il aurait dû être explicitement mentionné sur le titre. Sinon, c'est un doublon.
PNDA

Wut? C'est pourquoi vous êtes autorisé à avoir des réponses séparées, à remplir le contexte si nécessaire.
Braiam

Réponses:


29

Non. Il n'y a aucune méthode permettant d'ajouter de la RAM au Pi. Voir cette discussion sur les forums raspberrypi.org pour plus de détails, mais fondamentalement la RAM et le CPU sont inextricablement et inaccessiblement connectés. Il n'y a pas de méthode physique par laquelle la RAM pourrait être utilement ajoutée, à moins que vous ne vouliez commencer à éliminer l'acide de la puce CPU, sortir votre microscope et traquer un fer à souder à l'échelle micrométrique.


4
Voir ici pour une illustration rapide de la façon dont ils sont «inextricablement connectés».
goldilocks

3
Le Pi 2 a une puce RAM distincte, et l'étiquette sur cette question est pour le Pi 2. Votre réponse est très bien pour les versions antérieures de Pi, mais cela s'applique-t-il au 2?
Adam Davis

3
J'examine cela - cela semble certainement profondément invraisemblable. La puce RAM est un SMD de 168 billes et est un peu plus petite que ma miniature. Je pourrais dire avec une certitude raisonnable que ce ne sera pas amusant du tout d'essayer de retirer l'ancien et le nouveau. La réponse de joan couvre peut-être ce cas d'utilisation plus précisément - même si vous pouviez physiquement gérer la puce, cela ne ferait aucune différence. Chaque SoC est déjà au maximum.
goobering

3
Vous pouvez ajouter un SSD et l'utiliser comme échange. La prochaine meilleure chose.
Dark Egregious

2
Bien que retirer la puce de mémoire ne serait certainement "pas amusant", cela devrait être possible avec le bon équipement et les bonnes compétences (et plus facile sur le pi2 que sur le pi1). Le vrai problème est que le SoC ne peut rien supporter de plus gros.
Peter Green

12

Non.

Généralement, chaque modèle Pi a déjà été équipé de la quantité maximale de RAM prise en charge.

Certains premiers modèles B n'avaient que 256 Mo et auraient pu avoir 512 Mo à la place. Cependant, il n'y aurait aucun moyen de mettre à jour la puce RAM sans détruire la carte (sauf si vous disposiez d'un laboratoire spécial).


Est-ce également vrai pour le Pi 3?
PythonNut

@PythonNut Oui, le Pi2 et le Pi3 ont déjà 1 Go maximum installé.
joan

Pour ne pas juger les cas marginaux ici, mais si le 1 Go actuel sur un Pi3 ne suffit pas et que vous ne pouvez pas partager la charge avec un autre Pi3, vous vous trompez probablement ...
Pire

Non, cela dépend de ce que vous essayez de faire. Par exemple, si vous souhaitez l'utiliser pour certaines applications serveur, il peut être parfaitement normal de vouloir plus de RAM.
Alexis Dufrenoy

5

Sur un 256 Mo Pi, il devrait théoriquement être possible de remplacer la puce par une 512 Mo mais ce ne serait pas facile. Vous devez chauffer soigneusement la pile PoP, puis séparer le processeur de la puce RAM. Ensuite, nettoyez le désordre des vieilles boules et soudez la nouvelle puce de RAM.

Il y a aussi la question de savoir si le firmware fonctionnerait, les modèles 512 Mo ont des codes d'identification différents gravés dans l'OTP sur le SoC à partir des modèles 256 Mo et je ne sais pas si le code de démarrage fonctionnerait correctement si les choses ne correspondaient pas.

Sur 512 Mo basé sur BCM2835, aucune mise à niveau n'est possible, le contrôleur de mémoire a été conçu pour prendre en charge 1 Go, mais un bogue l'a empêché de fonctionner correctement à cette taille.

Sur le raspberry pi 2 Mdoel B et le raspberry pi 3 modèle B 1GB est la limite, la conception de la structure du bus et du contrôleur de mémoire dans le Soc ne prend tout simplement pas en charge plus.

Si nous voyons un Pi basé sur 512 Mo BCM2837 (par exemple un Raspberry pi 3 modèle A), alors je m'attends à ce qu'une mise à niveau vers 1 Go soit théoriquement possible, mais encore une fois, une révision BGA serait nécessaire (bien que vous n'ayez pas le plaisir de PoP) et je ne sais pas s'il y aurait des problèmes de firmware.


3

Si le SoC pouvait supporter plus, les concepteurs auraient probablement inclus plus de mémoire, comme d'autres l'ont souligné. Il y a cependant une raison beaucoup plus importante: le contrôle des coûts.

La différence de prix, pour ce type de pièce, entre 512M et 1G est inférieure à 1 USD; les deux coûtent environ 5 USD. Même un circuit intégré 8G dans cette catégorie coûte environ 14 USD, alors vous pourriez penser, gros problème, que le prix augmente un peu. Ce n'est pas aussi simple.

Les 3 se vendent pour USD40; sa nomenclature est probablement inférieure à 15 $, donc même un dollar supplémentaire aurait un impact significatif sur le prix de détail, en pourcentage. Et bien que certaines personnes puissent acheter un pi plus cher pour plus d'argent, la simple mise à disposition de deux versions augmente les coûts (conception, test, distribution, stockage, etc.), et votre modèle 1G à 40 $ pourrait devoir se vendre à 45 $ à la place. Vous et moi ne nous en soucions peut-être pas, mais cela fait une grande différence pour le marché de l'éducation, auquel le Pi est principalement destiné.

De plus, lorsque vous travaillez avec un budget limité, vous devez prendre des décisions sur ce qu'il faut inclure. Pour ma part, je suis beaucoup plus heureux d'avoir le wifi et le bt sur le 3 que je ne le serais avec de la mémoire supplémentaire. Votre expérience peut varier, mais jusqu'à présent, je n'ai jamais eu besoin de plus de mémoire, mais tout ce que j'ai utilisé pour le pi a besoin du WiFi, alors économiser 5 $ sur un dongle wifi était un choix que j'aime.

Si vous avez absolument besoin de plus de mémoire que cela, il existe d'autres options (plus chères)!


2

Vous ne pouvez pas ajouter de RAM à un Raspberry Pi, mais les clusters Raspberry Pi sont une autre chose

Vérifier: http://www.zdnet.com/article/build-your-own-supercomputer-out-of-raspberry-pi-boards/

MISE À JOUR:

Puisque quelqu'un a demandé, je résumerai le lien ci-dessus. Bien que je ne connaisse pas moi-même les détails, il semble qu'il soit possible de "connecter" des Raspberry Pi.

"Kiepert a exécuté le High Performance Linpack (HPL), la référence standard des superordinateurs sur son ordinateur fait maison et a constaté que son RPiCluster avec ses 32 processeurs Broadcom BCM2708 ARM11 fonctionnant à 1 GHz et 14,6 Go de RAM utilisable se traduisaient par des performances de pointe HPL de 10,13" GFLOPS "


Bienvenue sur Raspberry Pi! Bien que cela puisse théoriquement répondre à la question (en fait, cependant, la réponse n'est que tangentielle à la question), il serait préférable d'inclure ici les parties essentielles de la réponse et de fournir le lien de référence.
Ghanima

2

Si vous avez seulement besoin de plus de mémoire pour travailler et que vous exécutez une distribution Linux, il est possible d'agrandir le swap. Pour cela, suivez les instructions ici http://www.thegeekstuff.com/2010/08/how-to-add-swap-space/ . Sur ma Rasp, j'ai trouvé un fichier d'échange, /var/swapmais cela ne fait que 100 Mo. Je l'ai donc remplacé par un plus gros. Maintenant, ma Rasp a 1 Go de RAM et 4 Go de swap.

La vitesse diminue si le swap est vraiment nécessaire. En fonctionnement normal, cela n'a aucun effet sur les performances. Jetez un œil ici en.wikipedia.org/wiki/Swappiness pour plus d'informations. Cette solution doit être utilisée si vous avez besoin de mémoire pour une courte période ou des pics de mémoire. Le passage au SSD diminue la durée de vie du SSD. Rappelez-vous que l'échange n'est pas destiné à agrandir la mémoire pour une utilisation normale.

Si vous recherchez en permanence plus de RAM et de vitesse, vous devriez jeter un œil ici http://www.digitaltrends.com/computing/c2-offers-competitive-specs-to-raspberry-pi/ .


En ce qui concerne la discussion ci-dessous, voici quelques exemples d'utilisation, dans lesquels je préférerais échanger plutôt que changer de matériel:

  1. Créez un logiciel sur la cible. Ici, il y a deux possibilités:

    1. Utilisation d'un seul cœur pour réduire la quantité de mémoire nécessaire. Dans mon exemple, cela conduit à une utilisation maximale de la mémoire de 370 Mo par un temps écoulé de 9h 45min.

    2. Utilisation de la construction parallèle. Dans mon exemple, cela conduit à une utilisation maximale de la mémoire de 1400 Mo par un temps écoulé de 4 h 30 min. Mais dans près de 98% de cette période, la mémoire utilisée est inférieure à 1024 Mo.

  2. Une application avec un processus d'initialisation lourd: On sait alors que la partie principale de l'application nécessite moins que la RAM existante mais la routine d'initialisation - qui ne se produit qu'une fois la durée de vie d'un programme - a des pics de mémoire plus importants, l'échange est un moyen approprié pour gérer le besoin de mémoire.

Pour examiner la configuration matérielle requise, vous pouvez utiliser:

/usr/bin/time -v <program invocation>

cela vous donne ces informations

Command being timed: "program invocation"
User time (seconds): 33164.02
System time (seconds): 1560.20
Percent of CPU this job got: 98%
Elapsed (wall clock) time (h:mm:ss or m:ss): 9:45:12
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 379092
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 354
Minor (reclaiming a frame) page faults: 47740772
Voluntary context switches: 1049855
Involuntary context switches: 482091
Swaps: 0
File system inputs: 170240
File system outputs: 3477064
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0

1
Le RPi est déjà lent. Le laisser échanger le rendra encore plus lent.
Thomas Weller du

Jusqu'ici tout va bien. Mais dans certains cas, la mémoire est plus importante que la vitesse. Pour moi par exemple: je dois construire une grande quantité de sources et la build déchire car il n'y a pas assez de mémoire. J'agrandis donc le swap. Et la vitesse ne diminue que si le swap est vraiment nécessaire. En fonctionnement normal, cela n'a aucun effet sur les performances. Jetez un œil ici en.wikipedia.org/wiki/Swappiness pour plus d'informations.
Alex44

Avez-vous vraiment besoin de construire sur le RPi lui-même? Vous ne voulez pas effectuer de compilation croisée sur un système plus rapide?
Thomas Weller

C'est une question de performance de l'application à la fin. Dans le cas d'une application en temps réel, il est différent d'utiliser un crossbuild-essential-armelou le compilateur de l'étagère sur le périphérique cible. Mais en ce qui concerne les performances de construction, il peut être judicieux de croiser la construction bien sûr.
Alex44

C'est une bonne réponse - vous m'avez fait valoir mon point de vue et je ne suis pas fan du swap. Bien que ce ne soit pas une réponse précise à la question, elle a probablement une valeur plus pragmatique pour plus de gens que certains des autres ...
goldilocks
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.