È possibile aggiungere RAM a Raspberry Pi?


26

È possibile aggiungere RAM a un Raspberry Pi?



2
Il tag dice "pi-2" che ha hardware diverso dal precedente pis, e il chip ram è, infatti, separato. Ho aggiornato la tua domanda per riflettere meglio il tag, ma sentiti libero di ripristinarlo e rimuovere il tag se non stai parlando solo del PI 2.
Adam Davis,

2
@ Jacobm001 Dato che il Pi 2 non è stato rilasciato quando è stato pubblicato quel post, penso che questa domanda potrebbe non essere un duplicato.
pydsigner,

@AdamDavis Avrebbe dovuto essere esplicitamente menzionato nel titolo. Altrimenti, è un duplicato.
PNDA

Wut? Ecco perché ti è permesso avere risposte separate, riempire il contesto se necessario.
Braiam,

Risposte:


29

No. Non esiste un metodo con cui aggiungere RAM al Pi. Vedi questa discussione sui forum di raspberrypi.org per maggiori dettagli, ma fondamentalmente la RAM e la CPU sono inestricabilmente, inaccessibilmente connesse. Non esiste un metodo fisico che consenta di aggiungere utilmente la RAM, a meno che non si desideri iniziare a rimuovere l'acido dal chip della CPU, estrarre il microscopio e rintracciare un saldatore su scala micrometrica.


4
Vedi qui per una rapida illustrazione di quanto siano "indissolubilmente connessi".
Goldilocks

3
Il Pi 2 ha un chip RAM separato e il tag su questa domanda è per il Pi 2. La tua risposta va bene per le versioni Pi precedenti, ma si applica al 2?
Adam Davis,

3
Lo sto esaminando - sembra certamente profondamente non plausibile. Il chip RAM è un SMD da 168 sfere ed è un po 'più piccolo della mia miniatura. Potrei dire con ragionevole certezza che non sarà affatto divertente provare a togliere quello vecchio e quello nuovo. la risposta di joan forse copre questo caso d'uso in modo più accurato - anche se potessi gestire fisicamente il chip, non farebbe alcuna differenza. Ogni SoC è già al massimo.
goobering

3
È possibile aggiungere un SSD e utilizzarlo come swap. La prossima cosa migliore.
Darth Egregious,

2
Mentre rimuovere il chip di memoria sarebbe certamente "non divertente", dovrebbe essere fattibile con le giuste attrezzature e abilità (e più facile su pi2 che su pi1). Il vero problema è che il SoC non può supportare nulla di più grande.
Peter Green,

12

No.

Generalmente ogni modello Pi è già dotato della massima quantità di RAM supportata.

Alcuni primi modelli B avevano solo 256 MB e invece avrebbero potuto avere 512 MB. Tuttavia non ci sarebbe modo di aggiornare il chip RAM senza distruggere la scheda (a meno che non si avesse un laboratorio speciale).


Questo vale anche per il Pi 3?
PythonNut,

@PythonNut Sì, Pi2 e Pi3 hanno già 1 GB massimo installato.
Giovanni,

Non per giudicare i casi limite qui, ma se l'attuale 1 GB su un Pi3 non è sufficiente e non è possibile condividere il carico con un altro Pi3, probabilmente stai sbagliando ...
WorseDoughnut,

No, dipende da cosa stai cercando di fare. Ad esempio, se si desidera utilizzarlo per alcune applicazioni server, potrebbe essere perfettamente normale volere più RAM.
Alexis Dufrenoy,

5

Su un 256 MB Pi dovrebbe teoricamente essere possibile sostituire il chip con uno da 512 MB, ma non sarebbe facile. Dovresti riscaldare attentamente lo stack PoP e quindi in qualche modo separare il processore dal chip ram. Quindi ripulisci il disordine delle vecchie palle e salda il nuovo chip ram.

C'è anche la questione se il firmware funzionerebbe, i modelli da 512 MB hanno codici ID diversi masterizzati nell'ODP sul SoC da modelli da 256 MB e non sono sicuro che il codice di avvio funzionerebbe correttamente se le cose non corrispondessero.

Su 512 MB BCM2835 basato su pis non è possibile alcun aggiornamento, il controller di memoria è stato progettato per supportare 1 GB, ma si è verificato un errore che ha impedito il corretto funzionamento a quella dimensione.

Su Raspberry pi 2 Mdoel B e raspberry pi 3 modello B 1GB è il limite, il design della struttura del bus e del controller di memoria nella Soc semplicemente non supporta più.

Se vediamo un Pi basato su BCM2837 da 512 MB (ad esempio un modello Raspberry pi 3 modello A), mi aspetto che teoricamente un aggiornamento a 1 GB sarà teoricamente possibile, ma sarebbe necessario rielaborare BGA (anche se non ti divertiresti con PoP) e io don sapere se ci sarebbero problemi con il firmware.


3

Se il SoC potesse supportare di più, i progettisti avrebbero probabilmente incluso più memoria, come altri hanno sottolineato. C'è una ragione molto più importante, però: il controllo dei costi.

La differenza di prezzo, per quel tipo di parte, tra 512 M e 1 G è inferiore a 1 USD; entrambi sono circa 5 USD. Anche un IC 8G in quella categoria è di circa 14 USD, quindi potresti pensare, un grosso problema, un po 'più alto del prezzo. Non è così semplice.

Le 3 vendite al dettaglio per USD40; la sua distinta base è probabilmente inferiore a $ 15, quindi anche un dollaro in più avrebbe un impatto significativo sul prezzo al dettaglio, in percentuale. E anche se alcune persone potrebbero acquistare un pi più costoso per più soldi, semplicemente rendere disponibili due versioni aumenta i costi (progettazione, test, distribuzione, stoccaggio, ecc.), E il tuo modello da $ 40 1G potrebbe invece essere venduto a $ 45. A me e te non potrebbe interessare, ma questo fa una grande differenza per il mercato educativo, a cui il Pi è principalmente rivolto.

Inoltre, quando lavori con un budget limitato, devi prendere delle decisioni su cosa includere. Io, per esempio, sono molto più felice di avere wifi e bt sul 3 di quanto non sarei con memoria aggiuntiva. La tua esperienza varia, ma finora non ho mai avuto bisogno di più memoria, ma tutto ciò che ho usato per il pi ha bisogno del WiFi, quindi risparmiarmi $ 5 su un dongle wifi è stata una scelta che mi piace.

Se hai assolutamente bisogno di più memoria di quello, ci sono altre opzioni (più costose) in giro!


2

Non è possibile aggiungere RAM a un Raspberry Pi ma i cluster Raspberry Pi sono un'altra cosa

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

AGGIORNARE:

Dato che qualcuno ha richiesto, riassumerò il link sopra. Anche se io stesso non ho familiarità con i dettagli, sembra che sia possibile "collegare" Pi lampone.

"Kiepert gestiva l'High Performance Linpack (HPL), il benchmark standard del supercomputer sul suo computer fatto in casa e ha scoperto che il suo RPiCluster con i suoi 32 processori ARM11 Broadcom BCM2708 in esecuzione sono 1 GHz e 14,6 GB di RAM utilizzabile con prestazioni di picco HPL di 10,13 GFLOPS"


Benvenuto in Raspberry Pi! Sebbene ciò possa teoricamente rispondere alla domanda (in realtà, tuttavia, la risposta è solo tangenziale alla domanda), sarebbe preferibile includere qui le parti essenziali della risposta e fornire il collegamento come riferimento.
Ghanima

2

Se hai solo bisogno di più memoria per funzionare ed esegui una distribuzione Linux, è possibile ingrandire lo scambio. Per questo segui le istruzioni qui http://www.thegeekstuff.com/2010/08/how-to-add-swap-space/ . Sul mio Rasp l'ho trovata un file di scambio /var/swapma questo è solo 100 MB. Quindi l'ho sostituito con uno più grande. Ora my Rasp ha 1 GB di RAM e 4 GB di swap.

La velocità diminuisce se lo scambio è veramente necessario. Nel normale funzionamento questo non ha alcun effetto sulle prestazioni. Dai un'occhiata qui en.wikipedia.org/wiki/Swappiness per ulteriori informazioni. Questa soluzione dovrebbe essere utilizzata se è necessaria memoria per brevi periodi di tempo o picchi di memoria. Lo scambio con l'SSD riduce la durata dell'SSD. Ricordare che lo scambio non ha lo scopo di ingrandire la memoria per l'uso normale.

Se cerchi permanentemente più RAM e velocità, dai un'occhiata qui http://www.digitaltrends.com/computing/c2-offers-competitive-specs-to-raspberry-pi/ .


Per quanto riguarda la discussione qui sotto alcuni esempi di casi d'uso, in cui preferirei scambiare piuttosto che cambiare hardware:

  1. Costruisci software sul bersaglio. Qui ci sono due possibilità:

    1. Utilizzo di un singolo core per ridurre la quantità di memoria necessaria. Nel mio esempio questo porta ad un picco di utilizzo della memoria di 370 MB per un tempo trascorso di 9h 45min.

    2. Usando la build parallela. Nel mio esempio questo porta ad un picco di utilizzo della memoria di 1400 MB per un tempo trascorso di 4h 30min. Ma in quasi il 98% di questo tempo la memoria utilizzata è inferiore a 1024 MB.

  2. Un'applicazione con un pesante processo di inizializzazione: quindi è noto che la parte principale dell'applicazione richiede meno della RAM esistente ma la routine di inizializzazione - che si verifica solo una volta durante la vita di un programma - ha alcuni picchi di memoria più grandi, lo scambio è un modo appropriato per gestire la necessità della memoria.

Per esaminare i requisiti hardware è possibile utilizzare:

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

questo ti dà queste informazioni

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
L'RPi è già lento. Lasciarlo scambiare lo renderà ancora più lento.
Thomas Weller,

Fin qui tutto bene. Ma in alcuni casi la memoria è più importante della velocità. Per me, ad esempio: devo costruire una grande quantità di fonti e la build si strappa perché non c'è abbastanza memoria. Quindi ingrandisco lo swap. E la velocità diminuisce solo se lo scambio è davvero necessario. Nel normale funzionamento questo non ha alcun effetto sulle prestazioni. Dai un'occhiata qui en.wikipedia.org/wiki/Swappiness per ulteriori informazioni.
Alex44,

Hai davvero bisogno di sviluppare l'RP stesso? Non vuoi eseguire la compilazione incrociata su un sistema più veloce?
Thomas Weller,

È una questione di prestazioni dell'applicazione alla fine. Nel caso di un'applicazione in tempo reale, è diverso utilizzare uno crossbuild-essential-armelo il compilatore dello scaffale sul dispositivo di destinazione. Ma per quanto riguarda le prestazioni della build, può essere logico incrociare la build ovviamente.
Alex44,

Questa è una buona risposta: mi hai fatto il caso e non sono un fan dello scambio. Sebbene non sia una risposta precisa alla domanda, probabilmente ha un valore più pragmatico per più persone rispetto ad alcuni degli altri ...
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.