Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

yikes 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 big_smile
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...
smile
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... smile

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 roll
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 ! big_smile


« … 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

gene69 a écrit :

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 wink

Dernière modification par Kanor (Le 20/03/2010, à 17:56)

Hors ligne