Ich verwende Ubuntu 10.04 (64bit) für meinen Desktop.
Der Computer verfügt über 5 GB RAM.
Ich möchte eine RAM-Disk (1G oder 2G) verwenden, weiß aber nicht, wie ich das machen soll.
Gibt es OpenSource-Produkte für RAM-Datenträger?
quelle
Ich verwende Ubuntu 10.04 (64bit) für meinen Desktop.
Der Computer verfügt über 5 GB RAM.
Ich möchte eine RAM-Disk (1G oder 2G) verwenden, weiß aber nicht, wie ich das machen soll.
Gibt es OpenSource-Produkte für RAM-Datenträger?
Die Technologie ist in den Kernel integriert, Sie benötigen keine zusätzlichen Tools. Tatsächlich haben Sie bereits einige RAM-Datenträger (die Sie nicht verwenden sollten, sie sind für das System reserviert), die Sie sehen können, wenn Sie dies tun
grep -w tmpfs /proc/mounts
Fügen /ramdisk
Sie die folgende Zeile hinzu, um eine 2-GB-RAM-Disk einzurichten, auf der bereitgestellt wird /etc/fstab
:
ramdisk /ramdisk tmpfs mode=1777,size=2g
Hängen Sie dann den Datenträger mit dem Befehl ein mount /ramdisk
(dies erfolgt automatisch beim Neustart).
Die angegebene Größe ist ein Maximum. Die Festplatte belegt nur so viel Speicher wie die darauf befindlichen Dateien.
Sie können ändern /tmp
, um eine RAM-Disk zu sein. Geben Sie in die /etc/fstab
obige Zeile /tmp
stattdessen einen /ramdisk
Neustart ein.
Beim ersten Neustart nach dem Wechseln /tmp
zu einer RAM-Disk werden die darin enthaltenen Dateien /tmp
ausgeblendet. Das ist harmlos, außer dass sie ein wenig Speicherplatz verschwenden. Sie können sie aufräumen ( nachdem Sie mit /tmp
auf der RAM-Disk neu gestartet haben ), indem Sie dies tun
mount --bind / /mnt
rm -r /mnt/tmp/* /mnt/tmp/.*
umount /mnt
Der mount --bind
Befehl erstellt /mnt
eine doppelte Ansicht Ihres Root-Dateisystems. Aber während die RAM-Disk jetzt /tmp
in der Root-Ansicht verdeckt ist, ist nichts verdeckt /mnt/tmp
.
HINZUGEFÜGT : Sie können /tmp
ohne Neustart auf eine RAM-Disk wechseln , dies ist nur etwas komplizierter. Fügen Sie die Zeile /etc/fstab
wie oben beschrieben hinzu und führen Sie die folgenden Befehle aus:
mkdir /tmp.old
mount --bind /tmp /tmp.old
mount /tmp
cd /tmp
ln -s /tmp.old/* /tmp/.* .
Dann löschen Sie /tmp.old
nach Ihrem nächsten Neustart.
Der Grund, warum Sie nicht einfach Dateien von /tmp.old
nach verschieben können , /tmp
ist, dass in einigen wichtigen Programmen Dateien geöffnet sind /tmp
, die beispielsweise /tmp/.X11-unix/X0
vom X-Server abgehört werden und jedes GUI-Programm beim Start geöffnet wird. Wenn Sie eine Datei in ein anderes Dateisystem verschieben, müssen Sie sie kopieren und die alte Datei löschen, sodass der X-Server zwar weiterhin empfangsbereit ist /tmp.old/.X11-unix/X0
, X-Clients jedoch /tmp/.X11-unix/X0
vergeblich Kontakt aufnehmen . Auf einem Server könnten Sie mit einem Umzug davonkommen, wenn Sie vorsichtig sind.
/tmp
um übertmpfs
. Es ist nicht notwendig und ich habe meine Antwort bearbeitet, um zu erklären, wie es geht, aber es ist komplizierter. Es ist nichtmkfs
involviert, da es keinen zugrunde liegenden Speicher gibt, der vorbereitet werden muss. Der Kernel übernimmt alles./tmp
die Häufigkeit der Synchronisierungen auf der Festplatte zunimmt), aber dies ist ein unzuverlässiger subjektiver Eindruck. Ich habe noch nie versucht, ein Benchmarking durchzuführen.