EDIT : ramfs fonctionne mais est un peu inutile face à tmpfs monté par défaut sur /tmp (voir plus bas)
Les ordinateurs récents sont souvent équipé de
beaucoup de mémoire, c'est le cas mon PC portable équipé de
2 Go de mémoire vive.
Ma swap m'est rarement utile et en utilisation Desktop (en opposition à mon utilisation pour le dév ou pour jouer, qui mange plus de ram), j'ai qu'un largement 1 Go sous le pied.
Que faire de cette
ram non utilisée ? Pourquoi pas ne pas l'utiliser comme
espace de stockage temporaire pour y mettre des fichiers qui n'auront pas besoin de faire gratter le disque dur, et avoir un
accès plus rapide ?
En vrais, je n'ai pas souvent ce genre de besoin, par contre ceci m'intéresse pour
préserver l'autonomie de mon PC portable, comme quand je regarde un film alors que je suis sur la batterie.
Durant un film, le disque dur n'a pas forcement le temps d'être en
veille, car le film est chargé petit à petit. Pour éviter ces accès disque et la consommation associé, je copie le film dans ma mémoire vive, grâce à '
ramfs' !
'
ramfs' est un type de
système de fichier comme ext3, ntfs ... qui ne dispose pas de beaucoup d'option. Ce qu'il manque c'est des options du genre 'uid=' et 'umask='.
Je me suis créé un
script qui monte ramfs dans un répertoire, et ajoute un répertoire où l'
utilisateur courant peut écrire.
Voici le
script :
#!/bin/sh
RAMFSDIR="/media/ramfs"
USERDIRMASK="700"
if [ ${SUDO_USER} ]; then
if [ $1 ] && [ $1 = '-u' ]; then /bin/umount ${RAMFSDIR}
else
if [ ! -d "/media/ramfs" ]; then /bin/mkdir ${RAMFSDIR}
fi
if [ `/bin/mount | /bin/grep " ramfs " -c` -eq 0 ]; then /bin/mount -t ramfs none ${RAMFSDIR}
fi
USERDIR="${RAMFSDIR}/${SUDO_USER}"
if [ ! -d ${USERDIR} ]; then
/bin/mkdir ${USERDIR} -m ${USERDIRMASK}
/bin/chown ${SUDO_USER}:${SUDO_GID} ${USERDIR}
else echo "${USERDIR} already exist"
fi
fi
else echo "Must use sudo"
fi
Je l'ai enregistré dans '/usr/local/bin/mkramfs', avec les droit 'rwxr--r-- root root'.
Il faut l'utiliser avec
sudo (ou gksudo):
sudo mkramfs # pour le montage
sudo mkramfs -u # pour le démontage
Pour ne pas à saisir le mot de passe pour sudo, vous pouvez faire "
sudo visudo" et ajouter la ligne suivante :
%admin ALL=NOPASSWD: /usr/local/bin/mkramfs
Ainsi je le lance via
alt+f2, mais on peut très bien le lancer via n'importe quoi.
Je ne pense pas que ça intéresse grand monde, c'est un besoin assez spécifique.