Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]




informationinfo
* Le but de la manœuvre : il s'agit d'aller travailler en RAM directement, sans écrire sur le disque dur. Ceci pour gagner en rapidité.
* Date du tutoriel : septembre 2009.
* Fait par : Minimoineau, aidé par Youki.
* Mise en page : Olinuxx.



Avant propos


Les ordinateurs actuels offrent une quantité de mémoire vive de plus en plus importante. Elle affiche, de plus, des prix de plus en plus attractifs ! L'un des impératifs en MAO étant d'avoir un débit de données constant important, je me suis dit qu'il serait peut-être possible de travailler directement sur la RAM. Petite recherche sur le net, et BINGO ! Notre système d'exploitation préféré permet tout à fait de monter un "lecteur" en RAM grâce à tmpfs ! Alors, si comme moi vous avez un débit trop limité pour vous laisser aller sur Ardour et que votre budget ne vous permet pas de vous offrir un super système RAID, suivez le guide !


Configuration


Allons-y !

Tout d'abord, le support de tmpfs doit être activé dans votre noyau (il l'est dans tous les noyaux récents).

On crée un point de montage sur un nouveau dossier (chez moi /ramdisk) :
mkdir /ramdisk

On change ensuite les droits de ce dossier pour pouvoir y accéder à loisir :
chmod 777 /ramdisk

Et on monte notre "ramdisk" comme ceci :
mount -t tmpfs -o size=3600M tmpfs /ramdisk
en précisant la taille avec -o size= (ici 3600M pour 3.6Go)

le petit plusse
Notez que la taille est gérée de manière dynamique par le noyau. C'est à dire que si le dossier n'est pas rempli, la RAM reste entièrement disponible pour le système.



Peaufinage


Cette dernière commande peut être inscrite dans /etc/rc.local pour que le "ramdisk" se monte automatiquement au démarrage.

Enfin, il suffira de spécifier ce dossier comme chemin pour les fichiers dans Ardour (Édition/Préférences/Chemin/fichiers).

Avertissementattention
Tout ce qui sera dans ce dossier s'effacera à l'extinction de l'ordinateur ! Pensez bien à sauvegarder sur un vrai disque votre travail !



Script d'automatisation de la sauvegarde des données


Voila la solution simple que j'ai mis en œuvre et qui semble fonctionner. Mais des tests d'autres personnes seraient les bienvenus.

À essayer d'abord avant de l'utiliser sur des projets importants!

Il y aura peut être de la redite par rapport à ce qui se trouve dans les chapitres précédents. Tout est à taper dans un terminal en super utilisateur.

  1. Je crée un répertoire nomme /ramdisk et j'en change les permissions :
    mkdir /ramdisk
    chmod 777 /ramdisk
  2. J'ajoute le montage de la RAM dans ce répertoire au fichier /etc/fstab en y incluant la ligne suivante :
    tmpfs /ramdisk tmpfs rw,size=2890M 0 0

    À la place de size=2890M mettez la valeur que vous voulez, 2890M c'est pour 2.89G de RAM. Notez que la taille est gérée de manière dynamique par le noyau. C'est à dire que si le dossier n'est pas rempli, la RAM reste entièrement disponible pour le système.
    Le fichier /etc/fstab permet de monter des partions automatiquement au démarrage de la machine.
     
  3. Je monte le tout :
    mount -a
  4. Je crée un script que je nomme sauvegarde-ramdisk et que je sauve dans /etc/init.d/. Ce répertoire contient les scripts qui sont exécutés aux différents runlevels. Voir : http://www.gcolpart.com/howto/runlevel.php4 Image et http://www.tavuu.net/linux/utilisation-de-update-rcd-sous-debian-ou-comment-lancer-des-scripts-au-demarrage-du-systeme/ . Image
     
    Voici ce que contient ce script :
    cliquez ici
    #! /bin/bash
    #Le switch case ci-dessous permet de savoir si le système souhaite lancer ou arrêter le script (on le lance au démarrage et l'arrête à la fermeture du système)
    case "$1" in
    start)
    # copie le contenu du répertoire de sauvegarde sur le disque dur vers /ramdisk
    cp -R /chemin/vers/votre/repertoire/de/sauvegarde/* /ramdisk/
    chown -R user:user /ramdisk/
    ;;
    
    stop)
    # copie de /ramdisk vers un répertoire de sauvegarde sur le disque dur
    cp -R /ramdisk/* /chemin/vers/votre/repertoire/de/sauvegarde/
    chown -R user:user /chemin/vers/votre/repertoire/de/sauvegarde/
    ;;
    
    *)
    # On indique ici comment utiliser le script, c'est dans le cas où le script est appelé sans argument ou avec un argument invalide
    echo 'Usage: /etc/init.d/repertoire-sauvegarde-ramdisk {start|stop}'
    exit 1
    ;;
    esac


    Bien sur je n'oublie pas de rendre exécutable le script :
    chmod +x /etc/init.d/sauvegarde-ramdisk

    Donc quand ce script est exécuté au démarrage, tout ce qui se trouve dans le répertoire de sauvegarde est copie vers le répertoire /ramdisk/, donc dans la RAM de l'ordinateur.
    Et, vous vous en doutez, le script fait la même chose en sens inverse lors de l'extinction de la machine.
    À chaque fois le chown -R user:user remettra les permissions correctement pour l'utilisateur. Remplacez donc le terme user par votre nom d'utilisateur partout dans le script.
     
  5. Ensuite, il faut déterminer à quels runlevels /etc/init.d/sauvegarde-ramdisk s'exécutera ou non et à quelle priorité, pour ça on utilise la commande update-rc.d, j'ai fait ça :
    update-rc.d sauvegarde-ramdisk start 99 2 3 4 5 . stop 01 0 1 6

    Donc, il s'exécutera en position 99 sur les runlevels 2,3,4 et 5, il s'arrêtera en position 01 sur les runlevels 0, 1 et 6.
    Ma logique est qu'il vaut mieux qu'il s'exécute tard lors du démarrage, mais tôt lors de l'extinction.

informationinfo
Le script peut être appelé à tout moment par les commandes suivantes : /etc/init.d/sauvegarde-ramdisk start ou invoke-rc.d sauvegarde-ramdisk start et /etc/init.d/sauvegarde-ramdisk stop ou invoke-rc.d sauvegarde-ramdisk stop

informationinfo
Il est possible de faciliter la sauvegarde en cours de sessions en créant un lanceur avec la commande gksu invoke-rc.d sauvegarde-ramdisk stop, ou un équivalent si vous n'utilisez pas gksu.



Commentaires


Note de Minimoineau : j'utilise ce petit truc depuis quelque temps sur une Ubuntu Hardy Heron optimisée pour la MAO. Je n'ai pas encore atteint les limites de débit sous Ardour avec 5Go de RAM !

informationinfo
Une architecture 64 bit est nécessaire pour que le système détecte plus de 4 Go de mémoire. L'autre solution consiste à activer l'option "highmem" dans un noyau 32 bit (comme sur les noyaux de serveurs), mais je ne l'ai jamais testée.


informationinfo
Il est désormais possible avec les noyaux "PAE" d'utiliser plus de 4 Go de RAM en architecture 32 bit ! (ce qui n'était pas le cas lors de la rédaction de cet article...).


À titre indicatif, le débit théorique d'une barrette de DDR2 PC2 6400 (800MHz) est de 6.4Go/s eek !!!
Plus de problème de débit de données ! La seule limite est la quantité de RAM dont on dispose.

Encore une petite précision (et non des moindres...!) : un autre avantage de l'utilisation du tmpfs est qu'il limite énormément les accès au disque dur. En d'autre termes, il permet d'économiser considérablement les batteries des portables et autres systèmes nomades ! La RAM étant bien évidemment beaucoup moins gourmande en énergie.





[+]


Collaborateur(s) de cette page : olinuxx , pianolivier , utilisateur_anonyme , minimoineau et youki .
Page dernièrement modifiée le Vendredi 06 novembre 2015 14:47:59 par olinuxx.
Le contenu de cette page est licencié sous les termes licence.

Documentation [Afficher / Cacher]

Faire un don
[Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

olinuxx, 11:48, ven. 15 mars 2024: Bonjour et bienvenue à Jerry cool
calixtus06, 18:03, mer. 13 mars 2024: Bonjour et bienvenue à tanguero :-)
olinuxx, 11:01, dim. 10 mars 2024: Bonjour et bienvenue à lolo cool
bda, 16:59, sam. 09 mars 2024: Chapeau pour l'édito. Vous êtes au top les gars :-)
allany, 07:20, jeu. 07 mars 2024: Ça ne fait jamais de mal, c'est l'éditorial ! [Lien]
olinuxx, 19:52, mer. 06 mars 2024: Bonjour et bienvenue à TrkNrk cool
calixtus06, 11:17, mar. 05 mars 2024: Bonjour et bienvenue à D752 :-)
calixtus06, 18:59, lun. 04 mars 2024: Bonjour et bienvenue à Hborsa et Adjudandouille :-)
olinuxx, 18:34, jeu. 29 Feb 2024: Bonjour et bienvenue à anto45500 cool
jujudusud, 23:38, mar. 27 Feb 2024: Venez participer à la joute numéro 17 : [Lien]
calixtus06, 18:36, jeu. 22 Feb 2024: Bonjour et bienvenue à nikartri et rckloar :-)
calixtus06, 10:15, mer. 14 Feb 2024: Bonjour et bienvenue à smonff, Alphascorpii, tadumtss et letoII :-)