Verwenden Sie SSD als RAM?

13

Wie kann ich SSD-Speicherplatz als RAM verwenden, um Aufträge mit großem Speicher auf dem Raspberry Pi auszuführen? Ist dies unter Linux dasselbe wie bei der Erstellung einer "Ramdisk" gemäß diesen Fragen und Antworten ?

719016
quelle
4
Kurze Antwort lautet: Es ist nicht möglich! Sie können es als Auslagerungsdiskette verwenden oder temporäre Dateien dort aufbewahren, aber Sie können Ihren RAM nicht über das Laufwerk erweitern. Es ist einfach nicht möglich.
Piotr Kula
3
Versuchen Sie, GParted zum Formatieren Ihrer SSD mit einer linux-swapPartition zu verwenden, und führen Sie dann sudo swapon /dev/sda1(oder was auch immer die Swap-Partition ist) Ramdisk aus. Verwenden Sie Ihren RAM als Speicher, Swap-Speicher ist im Grunde das Gegenteil - verwenden Sie Speicher als RAM.
JamesTheAwesomeDude

Antworten:

8

Ich nehme an du meinst SD statt SSD? Das Erstellen einer Swap-Partition auf der SD-Karte sollte als eine Art RAM für das Laufwerk funktionieren.

Wenn Sie SSD meinen, gibt es überhaupt keine echte Möglichkeit, ein SSD-Laufwerk an den Pi anzuschließen. Wenn Sie eine USB-Verbindung herstellen, erhöht sich die Geschwindigkeit nicht erheblich. Selbst eine extern angeschlossene Festplatte kann nicht mit voller Geschwindigkeit betrieben werden.

Ryan Walmsley
quelle
7

Das ist nicht möglich.

Der Speicher für den Raspberry Pi ist auf der Platine fixiert und es gibt keine Schnittstelle, um ihn zu erweitern oder zu ersetzen.

Ich denke, die Verwirrung kommt von der Tatsache, dass SSD (Solid State Disk) Speicherchips verwendet, um die Daten zu speichern. Aber hier enden die Gemeinsamkeiten. Die Speicherchips auf der SSD unterscheiden sich stark vom normalen RAM. Es ist nicht möglich, eines durch das andere zu ersetzen.

Die SSD verfügt über eine SATA-Festplattenschnittstelle. Der RAM verfügt über eine Speicherbusschnittstelle. Sie sind so unterschiedlich, dass die beste Analogie, die ich anbieten kann, der Vergleich eines Gaskochofens mit einer Mikrowelle ist.

Ich habe versucht, die folgenden Informationen zu vereinfachen. Wenn Sie dies mit tieferem Verständnis lesen, bedenken Sie bitte, dass dies nur eine sehr allgemeine Zusammenfassung ist:

Die SSD-Chips sind Flash-Speicher und können nichtflüchtig gespeichert werden, ähnlich wie USB-Sticks. Das heißt, sie können ihre Daten auch ohne Strom behalten. Sie benötigen auch einen speziellen Controller-Chip, um mit ihnen zu sprechen. Dieser Chip ist mit einer SATA-Festplattenschnittstelle verbunden und folgt dem SATA-Protokoll. In meiner Analogie ist die SSD der Gaskochherd und der SATA-Bus die Gasversorgung des Hauses.

Die typischen RAM-Chips sind als DRAM bekannt, dh als dynamischer RAM (auch als DDR-SDRAM usw. bekannt). Sie speichern Daten für eine sehr kurze Zeit, was es erforderlich macht, sie offline zu schalten (diese Chips vom Rest der Schaltkreise zu trennen), um ihre gespeicherten Daten zu aktualisieren. Dies geschieht mehrere hundert oder tausend Mal pro Sekunde und ist für den Benutzer transparent. Wenn die Stromversorgung unterbrochen wird, wird die Aktualisierung beendet und die Daten gehen für immer verloren. Dynamische RAM-Chips folgen einem völlig anderen Protokoll als Flash-Speicherchips und werden mit einem dynamischen Speichercontroller verbunden, der wiederum mit einem sehr schnellen Speicherbus verbunden ist. Dieser Speicherbus geht direkt in das Herz des CPU-Chips. In meiner Analogie ist das dynamische RAM der Mikrowellenherd und der Hochgeschwindigkeitsspeicherbus die Stromversorgung.

Die Rapsberry Pi CPU hat einen speziellen Anschluss für den Arbeitsspeicher und nichts als dynamischer Arbeitsspeicher kann sich dort verbinden. SATA- und USB-Verbindungen werden getrennt aufbewahrt.

Obwohl beide den gleichen Job erledigen (SSD- und RAM-Speichercode und -Daten, Gaskocher und Mikrowellen kochen Essen und wärmen Mahlzeiten auf), erledigen sie diesen Job auf völlig andere und inkompatible Weise. Eins kann nicht durch das andere ersetzt werden.

Schließlich ist die RAM-Disk ein Trick des Betriebssystems, der vorgibt, dass ein Teil des verfügbaren RAM tatsächlich eine Speicherplatte ist. Dies reduziert den verfügbaren Arbeitsspeicher, wie lenik in seiner Antwort sehr richtig hervorhebt.

Vassilis Papanikolaou
quelle
1
Was ist mit Windows (Ready Boost), wenn Sie Flash-Laufwerke als zusätzlichen Arbeitsspeicher verwenden können? Oder ist es so, als würde man versuchen, SWAP hinzuzufügen, was den erhofften Leistungsunterschied nicht ausmacht?
Reim
ReadyBoost unter Windows funktioniert nicht als RAM, siehe Wikipedia: en.wikipedia.org/wiki/ReadyBoost . Fazit: ReadyBoost ist eine Lösung zum Zwischenspeichern von Datenträgern, um langsamere Datenträger zu beschleunigen. In der Regel werden dabei Daten von rotierenden Festplatten auf Flash-Laufwerke kopiert, um die Datenzugriffszeiten zu verringern.
Vassilis Papanikolaou
3

Swap zum Raspberry Pi hinzufügen

Sie können entweder eine Auslagerungsdatei oder eine Auslagerungspartition verwenden. Wenn Sie sich für eine Swap-Partition entscheiden, lesen Sie diese sorgfältig durch, da Sie keine wichtigen Daten ruinieren möchten.

Auslagerungsdatei erstellen

  • dd if=/dev/zero of=/SWAPFILE bs=1024 count=524288
    • Dadurch wird eine leere 512 MB-Datei erstellt.
    • Ändern Sie die Anzahl = auf Ihre bevorzugte Größe.
  • chown root:root /SWAPFILE
  • chmod 0600 /SWAPFILE
  • mkswap /SWAPFILE
  • swapon /SWAPFILE

Swap-Partition erstellen

  • dd if=/dev/zero of=/dev/sdXN bs=1024
    • Dies füllt die gesamte Partition von / dev / sdXN
  • mkswap /dev/sdXN
  • swapon /dev/sdXN

Persistent beim Booten (zu / etc / fstab hinzufügen)

  • vim /etc/fstab
  • Fügen Sie entweder hinzu:
    • / SWAPFILE Swap Swap Standard 0 0
    • / dev / sdXN Swap Swap Standard 0 0

Testen Sie, ob es aktiv ist

  • free -m
ErdeMeLon
quelle
1
SSDs sind zwar schnell und eignen sich möglicherweise gut für den Auslagerungsspeicher. Beachten Sie jedoch, dass Daten nur eine begrenzte Anzahl von Malen darauf geschrieben werden können.
EarthMeLon
Vergessen Sie nicht, dass Sie über die USB2-Schnittstelle gedrosselt werden, sodass die SSD weniger als 10% der nativen Geschwindigkeit aufweist. Ich glaube wirklich nicht, dass Sie sich aus Versehen Gedanken machen müssen, ob Sie den Blitz nicht tragen.
John La Rooy
1

Die RAM-Disk ist das Gegenteil von dem, was Sie tun möchten. Es erstellt eine Festplatte im RAM, wenn Sie zusätzliche Geschwindigkeit benötigen und sich nicht um den Arbeitsspeicher kümmern.

mit SSD als RAM ... keine Ahnung, vielleicht Swap-Partition auf SSD erstellen und dort tauschen lassen.

lenik
quelle