Par défaut, les machines du Public Cloud n'ont pas de partition de swap. Mais il est possibler d'utiliser un fichier de swap. 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'OOM Killer la mise en place d'un fichier de swap est une solution.
ssh admin@bkp-<region-sinp>-sinp
sudo -i
swapon --show
ne doit rient afficher…
free -h
df -h
fallocate -l 4G /swapfile
fallocate
n'est pas disponible sur le système, l'installer avec : apt install util-linux
ls -lh /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
swapon --show
free -h
fstab
avec : cp /etc/fstab /etc/fstab.save$(date '+%Y-%m-%d')
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
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.
swappiness
du serveur : cat /proc/sys/vm/swappiness
sysctl vm.swappiness=5
vi /etc/sysctl.conf
sysctl
: # Diminution de l'utilisation du swap suite à l'ajout d'un fichier d'échange /swapfile -- adminsys [2024-02-12] vm.swappiness=5
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.
vfs_cache_pressure
du serveur :cat /proc/sys/vm/vfs_cache_pressure
sysctl vm.vfs_cache_pressure=50
vi /etc/sysctl.conf
sysctl
: # 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
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.
free -m
swapoff -a
free -m
swapon -a