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 13:27] – [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]]
 +
 +===== Procédure =====
 +
 +==== Créer un fichier de swap ====
  
-====== Procédure ===== 
   * 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> +  * Vérifier la présence d'un espace de swap : <code bash>swapon --show</code> ne doit rient afficher... 
-    * Vérifier l'activiter du swap avec : <code bash>free -h</code> +    * Vérifier l'activité du swap avec : <code bash>free -h</code> 
-  * Création d'un fichier de swamp de 7Go : <code bash> falllocate -l 7G /swfile </code>+  * Commencer par vérifier l'espace disponible sur la partition racine : <code bash> df -h </code> 
 +    * Comme nous souhaitons juste pouvoir dépasser la taille la mémoire vive de la machine de façon ponctuelle pour éviter l'action de l'OOM Kille, nous allons utiliser un espace de swap de seulement  4Go. 
 +  * Création d'un fichier de swap de 4Go : <code bash> fallocate -l 4G /swapfile </code> 
 +    * Si ''fallocate'' n'est pas disponible sur le système, l'installer avec : <code bash>apt install util-linux</code> 
 +  * Vérifier la présence du fichier et sa taille avec : <code bash>ls -lh /swapfile</code> 
 +  * Rendre le fichier accessible seulement par root : <code bash>chmod 600 /swapfile</code> 
 +  * Marquer le fichier comme étant un espace de swap avec : <code bash>mkswap /swapfile</code> 
 +  * Activer l'espace de swap : <code bash>swapon /swapfile</code> 
 +  * Vérifier la présence du swap : <code bash>swapon --show</code> 
 +    * Puis vérifier son activité avec : <code bash>free -h</code> 
 +  * 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> 
 +    * 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 :  
 +    * 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> 
 +      * Puis rendre cette modification permanente : <code bash>vi /etc/sysctl.conf </code> 
 +        * Ajouter ce contenu à la fin du fichier de configuration de ''sysctl'' : <code> 
 +# Diminution de l'utilisation du swap suite à l'ajout d'un fichier d'échange /swapfile -- adminsys [2024-02-12] 
 +vm.swappiness=5 
 +</code> 
 + 
 +==== 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> 
 +    * Diminuer la pression d'utilisation du cache à 50 pour accélérer les applications : <code bash>sysctl vm.vfs_cache_pressure=50</code> 
 +      * Puis rendre cette modification permanente : <code bash>vi /etc/sysctl.conf </code> 
 +        * Ajouter ce contenu à la fin du fichier de configuration de ''sysctl'' : <code> 
 +# Diminution de la pression d'utilisation du cache suite à l'ajout d'un fichier d'échange /swapfile -- adminsys [2024-02-12] 
 +vm.vfs_cache_pressure=50 
 +</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.1707744424.txt.gz
  • Dernière modification : 2024/02/12 13:27
  • de jpmilcent