J'utilise Ubuntu 10.04 (64 bits) pour mon bureau.
La machine dispose d'une mémoire vive de 5 Go.
Je souhaite utiliser un disque RAM (1G ou 2G) mais je ne sais pas comment procéder.
Existe-t-il un produit opensource de disque RAM?
la source
J'utilise Ubuntu 10.04 (64 bits) pour mon bureau.
La machine dispose d'une mémoire vive de 5 Go.
Je souhaite utiliser un disque RAM (1G ou 2G) mais je ne sais pas comment procéder.
Existe-t-il un produit opensource de disque RAM?
La technologie est intégrée au noyau, vous n'avez pas besoin d'outils supplémentaires. En fait, vous avez déjà quelques disques RAM (que vous ne devriez pas utiliser, ils sont réservés au système), que vous pouvez voir en faisant
grep -w tmpfs /proc/mounts
Pour configurer un disque RAM de 2 Go monté sur /ramdisk
, ajoutez la ligne suivante à /etc/fstab
:
ramdisk /ramdisk tmpfs mode=1777,size=2g
Montez ensuite le disque avec la commande mount /ramdisk
(cela se fera automatiquement au redémarrage).
La taille indiquée est un maximum, le disque utilise seulement autant de mémoire que les fichiers qui s'y trouvent.
Vous pouvez changer /tmp
pour être un disque RAM. Dans la /etc/fstab
ligne ci-dessus, mettez /tmp
plutôt que /ramdisk
, puis redémarrez.
La première fois que vous redémarrez après avoir changé /tmp
en disque RAM, les fichiers qui s'y trouvaient /tmp
seront masqués. C'est inoffensif, sauf qu'ils gaspillent un peu d'espace disque. Vous pouvez les nettoyer ( après avoir redémarré avec /tmp
sur le disque RAM) en faisant
mount --bind / /mnt
rm -r /mnt/tmp/* /mnt/tmp/.*
umount /mnt
La mount --bind
commande crée /mnt
une vue en double de votre système de fichiers racine; mais alors que le disque RAM obscurcit maintenant /tmp
sur la vue racine, rien n'est obscurci /mnt/tmp
.
AJOUT : Vous pouvez passer /tmp
à un disque RAM sans redémarrer, c'est juste un peu plus compliqué. Ajoutez la ligne /etc/fstab
comme ci-dessus, puis exécutez les commandes suivantes:
mkdir /tmp.old
mount --bind /tmp /tmp.old
mount /tmp
cd /tmp
ln -s /tmp.old/* /tmp/.* .
Supprimez ensuite /tmp.old
après votre prochain redémarrage.
La raison pour laquelle vous ne pouvez pas simplement déplacer des fichiers de /tmp.old
vers /tmp
est que certains programmes critiques ont des fichiers ouverts /tmp
, par exemple /tmp/.X11-unix/X0
que le serveur X écoute et que chaque programme GUI s'ouvre au démarrage. Déplacer un fichier vers un autre système de fichiers signifie le copier et supprimer l'ancien, vous vous retrouveriez donc avec le serveur X toujours à l'écoute /tmp.old/.X11-unix/X0
mais les clients X communiquant /tmp/.X11-unix/X0
en vain. Sur un serveur, vous pouvez vous en sortir si vous faites attention.
/tmp
verstmpfs
. Ce n'est pas nécessaire, et j'ai édité ma réponse pour expliquer comment le faire, mais c'est plus compliqué. Il n'y a rien à fairemkfs
car il n'y a pas de stockage sous-jacent à préparer, le noyau gère tout./tmp
sur le disque augmente la fréquence des synchronisations), mais c'est une impression subjective peu fiable. Je n'ai jamais essayé de comparer.