25 avril 2009

Swap : Fichier d'échange

A l'installation d'une distribution, on nous recommande de créer une partition SWAP. Ce qui est bien utile mais nous oblige à créer une nouvelle partition. L'idée serait donc de créer un fichier sur le disque dur (comme le fait Windows) qui soit monté comme un système de fichier SWAP.
  • Cette technique a les avantages d'être plus simple quand on veut supprimer ou modifier la taille de la SWAP. Si vous avez suffisamment de RAM pour que la SWAP soit peu sollicitée, cela peut être utile !Tout d'abord, il va falloir créer le fichier (rempli de "zero", voir /dev/zero) avec la commande dd, ce fichier s'appelera par exemple pagefile.sys ou memfile.swap et sa taille sera entre la moitié et 1Go moins que votre RAM (pour 3G0 de RAM on peut créer 1,5 à 2Go de swap en fonction de l'usage par exemple). Tout ceci se fait en une ligne (je place le fichier à la racine, il ne gène personne et on ne l'oublie pas ainsi) :
    sudo dd if=/dev/zero of=/memfile.swap bs=2G count=1

    La commande dd utilise la RAM pour créer les fichiers, si vous n'avez pas assez de RAM, il se peut qu'une erreur se produise, dans ce cas on peut effectuer le traitement en plusieurs fois avec count, pour le même exemple on va créer un fichier de 2Go en 2 fois :
    sudo dd if=/dev/zero of=/memfile.swap bs=1G count=2

    Si après coup, vous vous apercevez que votre SWAP est peu sollicitée, vous pouvez recréer le fichier avec une taille moins importante (et cela sera transparent pour les étapes suivantes).
  • Maintenant il faut écrire le système de fichier de type SWAP sur notre fichier :
    sudo mkswap /memfile.swap
  • Le fichier est près, il ne reste plus qu'a prevenir le noyau qu'il a de la SWAP à disposition :
    sudo swapon /memfile.swap

    Analogiquement : swapoff /memfile.swap pour désactiver le fichier d'échange.
    Vous pouvez aller vérifier dans votre moniteur système, la SWAP est là !
  • Enfin, il ne nous reste plus qu'a rendre ce fichier d'échange permanant en le montant directement au démarrage de la machine. Comme d'habitude celà se passe dans fstab :
    sudo gedit /etc/fstab (remplacez gedit par votre éditeur)
    et on ajoute les lignes :
    #Fichier SWAP
    /memfile.swap none swap sw 0 0

24 avril 2009

Tmpfs : Monter une partition dans la RAM

Tmpfs est un système de fichier temporaire qui se monte dans la RAM. L'utilité directe n'est pas le stockage mais plutôt les dossiers temporaires, plus précisément /tmp étant donné que les transferts dans la RAM sont plus rapides que sur un disque dur. Personnellement je place aussi le cache de Firefox dans le dossier /tmp; Il y a d'autres dossiers ou fichiers qu'on pourrait placer dans la RAM, à vous de chercher !

  • La procédure est simple, cela se fait avec mount :
    sudo mount /tmp -t tmpfs -o size=128M tmpfs

    Si vous monté votre tmpfs dans un repertoire créé par le root, n'oubliez pas de lui donner les autorisations en lecture, écriture et exécution sinon vous ne pourrez pas l'utiliser directement !
  • Pour monter le tmpfs au démarrage, rajouter dans /etc/fstab :
    # Dossiers et Fichiers Temporaires montés dans la RAM
    # /tmp
    tmpfs /tmp tmpfs defaults,size=96M 0 0

    Vous n'avez qu'a modifier le repertoire et la taille, le reste ne change pas.