serveurs:installation:swap-file

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveurs:installation:swap-file [2024/02/12 14:29] – [Procédure] jpmilcentserveurs:installation:swap-file [2024/04/29 09:23] (Version actuelle) – [Créer un fichier de swap] jpmilcent
Ligne 4: Ligne 4:
 C'est particulièrement utile sur les machines hébergeant un GeoNature et possédant seulement 7Go de mémoire. Cette quantité de mémoire peut s'avérer trop juste lors des phases de construction des fichiers de l'appli par Angular. Pour éviter que Linux déclenche l'[[https://doc.ubuntu-fr.org/oomkiller|OOM Killer]] la mise en place d'un fichier de swap est une solution. C'est particulièrement utile sur les machines hébergeant un GeoNature et possédant seulement 7Go de mémoire. Cette quantité de mémoire peut s'avérer trop juste lors des phases de construction des fichiers de l'appli par Angular. Pour éviter que Linux déclenche l'[[https://doc.ubuntu-fr.org/oomkiller|OOM Killer]] la mise en place d'un fichier de swap est une solution.
  
-====== Ressources =====+===== Ressources =====
   * [[https://www.it-connect.fr/comment-ajouter-de-lespace-de-swap-sur-gnu-linux-debian-10/|Comment ajouter de l’espace de swap sur Gnu/Linux Debian 10]]   * [[https://www.it-connect.fr/comment-ajouter-de-lespace-de-swap-sur-gnu-linux-debian-10/|Comment ajouter de l’espace de swap sur Gnu/Linux Debian 10]]
   * [[https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-debian-11| How To Add Swap Space on Debian 11]]   * [[https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-debian-11| How To Add Swap Space on Debian 11]]
  
-====== Procédure =====+===== Procédure ===== 
 + 
 +==== Créer un fichier de swap ==== 
   * Se connecter à la machine désirée (ex. //bkp-srv//) : <code bash>ssh admin@bkp-<region-sinp>-sinp </code>   * Se connecter à la machine désirée (ex. //bkp-srv//) : <code bash>ssh admin@bkp-<region-sinp>-sinp </code>
     * Passer en root : <code bash>sudo -i</code>     * Passer en root : <code bash>sudo -i</code>
-  * Vérifier la présence de swapp : <code bash>swapon --show</code> ne doit rient afficher...+  * Vérifier la présence d'un espace de swap : <code bash>swapon --show</code> ne doit rient afficher...
     * Vérifier l'activité du swap avec : <code bash>free -h</code>     * Vérifier l'activité du swap avec : <code bash>free -h</code>
   * Commencer par vérifier l'espace disponible sur la partition racine : <code bash> df -h </code>   * Commencer par vérifier l'espace disponible sur la partition racine : <code bash> df -h </code>
Ligne 22: Ligne 25:
   * Activer l'espace de swap : <code bash>swapon /swapfile</code>   * Activer l'espace de swap : <code bash>swapon /swapfile</code>
   * Vérifier la présence du swap : <code bash>swapon --show</code>   * Vérifier la présence du swap : <code bash>swapon --show</code>
-    * Puis vérifier son activité avec : <code bash>swapon --show</code>+    * Puis vérifier son activité avec : <code bash>free -h</code>
   * Rendre ces changements permanent :   * Rendre ces changements permanent :
     * Commencer par faire une copie du fichier ''fstab'' avec : <code bash>cp /etc/fstab /etc/fstab.save$(date '+%Y-%m-%d')</code>     * Commencer par faire une copie du fichier ''fstab'' avec : <code bash>cp /etc/fstab /etc/fstab.save$(date '+%Y-%m-%d')</code>
     * Ajouter la nouvelle entrée pour le fichier de swap : <code bash>echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab</code>     * Ajouter la nouvelle entrée pour le fichier de swap : <code bash>echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab</code>
 +
 +==== Régler la fréquence d'utilisation du swap (swappiness) ====
 +Le paramètre ''swappiness''  définit la fréquence d'utilisation du swap. Sa valeur peut varier de 0 à 100. Une valeur basse signifie que le noyau linux essaye de rendre l'utilisation du swapping aussi légère que possible, alors qu'une valeur haute rend l'utilisation de l'espace de swap beaucoup plus fréquente. Nous souhaitons privilégier la RAM et nous voulons utiliser le swap seulement en dernier recours. Nous allons donc définir une valeur proche de 0.
 +
   * Modifier la valeur de ''swappiness'' du serveur :    * Modifier la valeur de ''swappiness'' du serveur : 
-    * Le paramètre ''swappiness''  définit la fréquence d'utilisation du swap. Sa valeur peut varier de 0 à 100. Une valeur basse signifie que le noyau linux essaye de rendre l'utilisation du swapping aussi légère que possible, alors qu'une valeur haute rend l'utilisation de l'espace de swap beaucoup plus fréquente. Nous souhaitons privilégier la RAM et nous voulons utiliser le swap seulement en dernier recours. Nous allons donc définir une valeur proche de 0. 
     * Vérifier la valeur actuelle (normalement 60) : <code bash>cat /proc/sys/vm/swappiness</code>     * Vérifier la valeur actuelle (normalement 60) : <code bash>cat /proc/sys/vm/swappiness</code>
     * Modifier la valeur en la passant à 10 avec : <code bash> sysctl vm.swappiness=5</code>     * Modifier la valeur en la passant à 10 avec : <code bash> sysctl vm.swappiness=5</code>
Ligne 35: Ligne 41:
 vm.swappiness=5 vm.swappiness=5
 </code> </code>
-  *  Modifier la valeur du paramètre ''vfs_cache_pressure'' du serveur :+ 
 +==== Régler la pression de mise en swap (vfs_cache_pressure) ==== 
 +En diminuant la valeur de ce paramètre cela permet de garder plus de liens vers les fichiers en mémoire, pour accélérer l’accès aux fichiers. 
 + 
 +  Modifier la valeur du paramètre ''vfs_cache_pressure'' du serveur :
     * Vérifier la valeur actuelle (normalement 100) : <code bash> cat /proc/sys/vm/vfs_cache_pressure </code>     * Vérifier la valeur actuelle (normalement 100) : <code bash> cat /proc/sys/vm/vfs_cache_pressure </code>
     * Diminuer la pression d'utilisation du cache à 50 pour accélérer les applications : <code bash>sysctl vm.vfs_cache_pressure=50</code>     * Diminuer la pression d'utilisation du cache à 50 pour accélérer les applications : <code bash>sysctl vm.vfs_cache_pressure=50</code>
Ligne 43: Ligne 53:
 vm.vfs_cache_pressure=50 vm.vfs_cache_pressure=50
 </code> </code>
 +
 +==== Forcer le nettoyage du swap ====
 +De manière occasionnelle, le système utiliser un important pourcentage de mémoire swap alors même que de la mémoire RAM est disponible.
 +Pour nettoyer la mémoire Swap du système, il suffit d'arrêter le swap. Cela va déplacer toutes les données de la mémoire Swap vers la mémoire RAM.
 +  * Voir : https://www.redhat.com/sysadmin/clear-swap-linux
 +  * Procédure :
 +    * Vérifier l'espace swap occupé et s'il y a assez d'espace correspondant en RAM : ''free -m''
 +    * Désactiver le swap : ''swapoff -a''
 +    * Attendre approximativement 30s pour que tout le swap est basculé en RAM. Il est possible de voir la diminution de l'occupation du Swap avec : ''free -m''
 +    * Réactiver le swap : ''swapon -a''
 +  
  • serveurs/installation/swap-file.1707748165.txt.gz
  • Dernière modification : 2024/02/12 14:29
  • de jpmilcent