====== Optimiser le swap ======
* Objet : Utiliser correctement son swap
* Niveau requis : {{tag>Débutant}}
* Commentaires : //Vous posseder un ordinateur avec très peu de mémoire, ou qui utilise le swap trop frèquement //
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Dédié aux amateurs de vielle machine.]] :-)
===== Introduction =====
Le swap est un fichier d'echange localisé sur un support de stockage (HDD, SSD, eMMc, clef USB, etc.) de votre ordinateur.
Il a pour but d'éviter que votre ordinateur gèle quand la memoire dédiée est pleine.
===== Comment savoir si notre ordinateur utilise son swap ? =====
Entrez dans un terminal en utililasteur la commande suivante :
htop
Si la commande renvoi un message d'erreur, entrez en root la commande suivante pour installer htop
apt-get install htop
htop vous affichera une interface avec les processus actifs, l'etat d'utilisations des coeurs de votre CPU, mais aussi celui de la memoire vive et du swap.
{{ :utilisateurs:renart_frambivore:tutos:htop.png?200 |}}
===== Comment interpreter ces données ? =====
Une ram pleine ou quasiment pleine indique que vous arrivez au bout des performances physique de votre ordinateur.
Si cela est le cas, il faut envisager d'ajouter une barette.
Il faut bien comprendre que plus votre ordinateur utilisera le swap, plus il risque de ralentir lorsque vous reprendrez les actions laissé en suspend.
Quoi qu'il en soit, __il ne faut jamais supprimer votre swap__, sans quoi, vous risquez de faire geler votre ordinateur.
Il est la soupape de securité de votre machine.
===== Comment optimiser l'usage du swap ? =====
Le swap se déclenche a partir du moment ou il ne vous reste que 60/100de memoire vive.
la commade suivante retourne 60 si c'est bien le cas.
cat /proc/sys/vm/swappiness
Les commandes qui suivent vont demander a votre système d'utiliser le swap lorsqu'il ne reste plus que 15/100 de ram disponible.
La deuxième ligne va permettre de garder plus de lien vers les fichiers frequement utilisé et accelerer leur accés.
Il est possible de declencher l'utilisation du swap a partir de 5/100 de ram restante, mais cela n'est pas cnseillé.
en fonction de la puissance de l'ordinateur, j'utilise une valeur de 15 ou 25.
echo vm.swappiness=15 | tee /etc/sysctl.d/99-swappiness.conf
echo vm.vfs_cache_pressure=50 | tee -a /etc/sysctl.d/99-swappiness.conf
sysctl -p /etc/sysctl.d/99-swappiness.conf
Il faut désactiver et réactiver le swap pour que les changements soient actifs.
swapoff -a
swapon -a
===== Agrandir ou créer un swap =====
Il existe deux types de swap.
* les partions
* les fichiers
Il n'y a pas de règle concernant la taille du swap, l'idéal est d'en avoir suffisament sans alterer votre espace de stockage. Ne soyez pas avare(500mo, trop peu!), mais inutile de tomber dans la mégalomanie(32Go, ca devient de trop). en fonction de votre utilisation, entre une valeur située entre 2 et 16Go est raisonnable.
===== Manipuler les fichiers swap =====
Les commandes qui suivent vont vous expliquer comment créer un fichier swap2 de 4Go à la racine de votre support de stockage.
fallocate -l 4G /swap2
chmod 600 /swap2
mkswap /swap2
swapon /swap2
Cette ligne inscrit le fichier swap dans fstab afin qu'il soit chargé au démarage.
echo /swap2 none swap defaults 0 0 >> /etc/fstab
==== dphys-swapfile ====
apt-get install dphys-swapfile
Régler la taille de votre future fichier échange :
nano /etc/dphys-swapfile
# pour 100mo
CONF_SWAPSIZE=100
dphys-swapfile setup
dphys-swapfile swapon
===== Manipuler les partitions swap =====
Une partition swap est monté lors du démarrage d'un système en se basant sur l'UUID inscrit dans le fichier "fstab".
Si vous souhaitez utiliser qu'une seule partition swap pour plusieurs système, il est possible d'indiquer au programme d'installation d'utiliser la partition swap existante.
Si cela n'a pas été fait, on peut récupérer l'UUID de la partition avec gparted puis la préciser dans le fichier "fstab".
===== Particularités des supports de stockages =====
==== SSD ====
Il est déconseillé de créer un swap sur un SSD : les SSD sont limité en écritures, c'est a dire qu'ils s’abîment en fonction de la quantité de fichier que vous écrivez dessus.
Le swap étant par nature une partition ou il y a beaucoup d’écriture, il vaut mieux éviter de la placer sur ce type de support.
==== HDD ====
Pour les HDD, l'idéal est de créer la partition de swap au debut du support : cette partie est théoriquement plus rapide, les ralentissements causés par la mise en swap de la mémoire seront légèrement atténués.
A noter qu'un swap situé sur un SSD sera nettement plus rapide que celui qui se trouve sur un HDD