#1 Le 04/10/2007, à 20:10
- NicoA380
Utiliser sa RAM comme disque dur, grâce à ramfs
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.
Dernière modification par NicoA380 (Le 04/05/2008, à 21:46)
Hors ligne
#2 Le 04/10/2007, à 20:17
- tontonjoe
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
pas mal !
Qu'est ce que ça donne alors, au niveau performances / bruit d'accès au disque dur ?
Vivons heureux, roulons couchés.
Hors ligne
#3 Le 04/10/2007, à 21:11
- NicoA380
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
C'est sur qu'il n'y a plus d'accès disque, après y avoir copié le film (ou musiques ...) et en y lisant les fichiers.
Ça n'a de sens que si le PC en idle ne fait pas d'accès disque (un démon à la con, etc ...).
Dernière modification par NicoA380 (Le 04/10/2007, à 21:11)
Hors ligne
#4 Le 22/10/2007, à 16:01
- Ras'
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
Joli
Tu saurais estimer combien tu gagne en autonomie ?
Et faut il le "nettoyer" après ou est-ce que ça se fait tout seul ?
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#5 Le 22/10/2007, à 16:04
- NicoA380
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
J'utilise très peu mon portable sur batterie, donc je ne peux pas estimer.
Sinon il n'y a rien à nettoyé, la RAM c'est volatile ^^, et tant que ce n'est pas indiqué dans /etc/fstab, pas de montage automatique.
Hors ligne
#6 Le 23/12/2007, à 13:38
- skt310
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
J'ai pas bien compris comment utiliser ton script. Tu peut donner un exemple (par exemple avec un film)?
NOVATUX : Besoin d'un ordinateur parfaitement compatible avec linux, un très bon contact avec le vendeur, des conseils, une instalation personalisée. Bref que du bonheur quoi. Allez voir ce site! J'ai acheté mon portable ici et vraiment c'est un plaisir!
Hors ligne
#7 Le 24/12/2007, à 00:02
- NicoA380
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
Finalement je ne l'utilise pas, j'utilise à la place tmpfs directement sur /tmp, configuré dans /etc/fstab.
tmpfs /tmp tmpfs mode=1777 0 0
Du coup, tout /tmp existe dans ma mémoire vive, même avec ça j'ai encore de la marge et j'ai l'avantage de ramfs sans devoir utiliser le script.
Sinon pour l'utilisation de mon script, c'est à la demande :
sudo mkramfs # pour le montage
sudo mkramfs -u # pour le démontage
Ça monte/démonte ramfs dans le répertoire "/media/ramfs".
Hors ligne
#8 Le 24/12/2007, à 08:35
- Brunod
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
Hmmm ... Je me demande si je ne vais pas racheter de la ram...
BD
Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis
Hors ligne
#9 Le 24/12/2007, à 10:43
- quentin_
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
Bon plan
Je vais voir ça. Mon nouveau PC de chez Novatux est équipé de 2 Go de ram ça va surement me servir à quelque chose
Le père noël existe-t-il ?
Airis N1105C core 2 duo T7500, 2 Go de RAM, GeForce 8400M GS
Pour un laptop linux allez chez Novatux
Ubuntu 9.10
Hors ligne
#10 Le 24/12/2007, à 17:31
- skt310
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
Merci beaucoup. Je testerais d'ici une semaine (le temps que le portable novatux arrive et que je jette mon ordinausore à la poubelle(pour l'ordinausore, je rigole je garde cette antiquité évidemment))
NOVATUX : Besoin d'un ordinateur parfaitement compatible avec linux, un très bon contact avec le vendeur, des conseils, une instalation personalisée. Bref que du bonheur quoi. Allez voir ce site! J'ai acheté mon portable ici et vraiment c'est un plaisir!
Hors ligne
#11 Le 28/12/2007, à 16:39
- Lord Alembert
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
le /tmp n'est pas d'office en RAM?
Hors ligne
#12 Le 24/01/2008, à 12:58
- geenux
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
@Lord Alember: Je vien de tester en copiant un film dans /tmp et tu as raison /tmp est dans la RAM(l'utilisation de mémoire est passé de 15% de cache à 40%)
Hors ligne
#13 Le 24/01/2008, à 13:29
- ogaby
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
Je ne savais pas que tmp était en RAM. En fait, on a tous une ramdisk...
Hors ligne
#14 Le 24/01/2008, à 19:17
- tontonjoe
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
mmmh ça me semble bizarre c't'histoire
Parce que sinon, il en faudrait de la RAM. à‡a doit être vrai une fois qu'on a spécifié que /tmp devait se trouver sur une partition qui est en fait dans la RAM, mais pas avant.
Vivons heureux, roulons couchés.
Hors ligne
#15 Le 25/01/2008, à 23:36
- geenux
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
Moi j'ai une install par défaut et /tmp est monté dans la RAM sans que je ne demande rien.
Hors ligne
#16 Le 10/03/2008, à 14:08
- chichille
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
Sur certaines distribs, /tmp est monté sur un TempFS (comme un RamFS, mais ça utilise aussi le swap si nécessaire). Ça doit être le cas d'Ubuntu.
http://en.wikipedia.org/wiki/TMPFS
Hors ligne
#17 Le 11/03/2008, à 20:50
- TatrefThekiller
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
Je pense pas que /tmp soit dans la RAM... pas chez moi en tout cas (installation par défaut).
Si je copie un fichier dans /tmp, la capacité libre sur mon disque diminue (dans le moniteur système) ; ce qui n'est pas compatibles avec le fait que ce soit en RAM, sauf si /tmp est à la fois en RAM et sur le disque.
Je pense que vous confondez avec les fait que lorsque l'on lit un fichier, linux le stocke automatiquement en cache (donc dans la RAM) par accélérer les temps d'accès.
Hors ligne
#18 Le 11/03/2008, à 20:55
- NicoA380
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
TatrefThekiller, ne vous fiez pas au cache de la RAM, car même en copiant un fichier dans tout autre répertoire, vous constaterez que le cache va augmenter. C'est de l'optimisation.
Vous pouvez aussi tester la copie d'un fichier de /tmp à /tmp et vérifier l'activité ou non de la led du disque dur.
Le plus simple est encore de faire 'mount | grep tmpfs' dans un terminal.
Hors ligne
#19 Le 11/03/2008, à 23:11
- TatrefThekiller
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
Merci de la réponse... Mais je ne suis pas sûr de ce que je dois interpréter ici :
~$ mount | grep tmpfs
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
En effet, /tmp n'apparaît pas ici.
J'ai essayé de copier un fichier de mon disque dur vers /tmp, puis d'effectuer un copier/coller de ce même fichier de /tmp vers /tmp. La LED du disque dur s'allume, ce qui me laisse penser que /tmp est effectivement sur le disque dur. De plus il me faut quasiment une minute pour copier un fichier de 700 Mo, ce qui fait une moyenne de 15 Mo par seconde. Ceci est bien inférieur aux tests que j'avais réalisé sous Windows en créant à la main un RAMdisk (au moins 100 Mo/s).
Merci de m'éclairer là dessus.
Hors ligne
#20 Le 11/03/2008, à 23:34
- NicoA380
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
En effet, ton /tmp est sur dur.
J'ai cette ligne ci au 'mount | grep tmpfs' :
tmpfs on /tmp type tmpfs (rw,mode=1777)
Pour la ligne a ajouter à fstab : http://forum.ubuntu-fr.org/viewtopic.php?pid=1411925#p1411925
Hors ligne
#21 Le 12/03/2008, à 00:11
- GutsdBlack
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
@NicoA380 : Tu devrais essayer avec la mémoire de ta carte graphique, tu verras les débits sont encore plus impressionnant !
« … de même que nous profitons des avantages que nous apportent les inventions d'autres, nous devrions être heureux d'avoir l'opportunité de servir les autres au moyen de nos propres inventions ; et nous devrions faire cela gratuitement et avec générosité. ». Benjamin Franklin
Hors ligne
#22 Le 12/03/2008, à 00:49
- TatrefThekiller
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
Je pense pas que les solutions pour utiliser la carte graphique soit encore très au point (même pour ce qui est calcul)...
Sinon, pour gagner en autonomie avec un ramdisk, le mieux serait après avoir copié le film ou les musiques à écouter, de démonter les disques durs, mais je sais pas si c'est possible...
Hors ligne
#23 Le 28/03/2008, à 03:00
- gene69
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
démonter le systeme... j'y crois pas.
par contre utiliser une partie de la mémoire vive comme mémoire swap... ou /tmp pourquoi pas. Je pense à des solutions de ce type à base de cle usb.
Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion
Hors ligne
#24 Le 28/03/2008, à 11:55
- NicoA380
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
par contre utiliser une partie de la mémoire vive comme mémoire swap
Ça n'a pas de sens, autant désactiver la swap directement.
Hors ligne
#25 Le 13/04/2008, à 09:24
- NicoA380
Re : Utiliser sa RAM comme disque dur, grâce à ramfs
Il y a encore plus simple pour précharger un film en mémoire, sans le copier dans ramfs ou tmpfs.
L'astuce conciste a charger le cache avec le fichier :
cat /chemin/vers/mon/film.avi > /dev/null
Ça devrait prendre quelques secondes.
Si vous refaites la commande juste derrière, c'est instantané, le fichier est dans le cache
Dernière modification par Kanor (Le 20/03/2010, à 17:56)
Hors ligne