Linux : créer un fichier d'échange (swap) pour optimiser un VPS photo

Linux : créer un fichier d’échange (swap) pour optimiser un VPS

Un fichier swap peut absorber certains pics de mémoire sur un VPS Linux, mais il ne garantit pas l’absence d’erreurs OOM. Il utilise du stockage, plus lent que la RAM, et ne remplace pas le diagnostic d’un service trop gourmand.

Vérifier le système avant de créer le fichier

swapon --show
free -h
df -h /
findmnt -no FSTYPE /

Vérifiez aussi les limites de votre hébergement : un conteneur peut ne pas autoriser l’activation du swap. Le type de système de fichiers compte. Btrfs et les mécanismes de copie sur écriture exigent une procédure adaptée.

Choisir la taille selon la charge

Il n’existe pas de plafond général de 4 Go au-delà duquel le swap serait inutile. Dimensionnez-le selon la RAM, les pointes observées, le stockage disponible et les exigences du système. Les 4 Gio de l’exemple constituent un choix de démonstration, pas une règle universelle.

Avant d’occuper le disque, identifiez les répertoires volumineux avec le guide du diagnostic d’espace disque. Conservez assez de marge pour les bases, journaux et mises à jour.

Créer un fichier sur un système compatible

L’exemple suivant convient à un système de fichiers classique compatible, comme ext4. Vérifiez d’abord que /swapfile n’existe pas. S’il existe, arrêtez cette procédure et examinez sa configuration : ne l’écrasez pas.

sudo ls -l /swapfile

Uniquement si ce chemin est absent et si vous avez choisi la taille de 4 Gio, créez un fichier non clairsemé dans un shell root avec des permissions restrictives dès sa création :

sudo sh -c 'umask 077; dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress'
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfileLangage du code : JavaScript (javascript)

Arrêtez-vous dès qu’une commande échoue. Le manuel de swapon recommande dd comme méthode portable ; les fichiers créés par fallocate ne conviennent pas à toutes les combinaisons de noyau et de système de fichiers. Pour Btrfs, consultez sa procédure spécifique plutôt que de reprendre cet exemple.

Contrôler l’activation et la persistance

swapon --show
free -h

Après activation réussie, sauvegardez /etc/fstab, puis éditez-le avec soin. Ajoutez une seule fois l’entrée correspondant au fichier :

sudo cp -a /etc/fstab /etc/fstab.avant-swap
sudoedit /etc/fstab
/swapfile none swap sw 0 0

Vérifiez qu’il n’existe pas déjà une entrée pour ce chemin. Contrôlez ensuite la configuration, puis prévoyez un redémarrage de test avec un accès de secours disponible.

Swappiness : mesurer avant d’ajuster

Le noyau peut utiliser le swap avant que toute la RAM soit épuisée. Le paramètre vm.swappiness exprime un coût relatif entre accès au swap et pagination des fichiers ; ce n’est pas un pourcentage de RAM à atteindre.

Sur les noyaux actuels, sa plage est de 0 à 200. Une valeur basse n’est pas automatiquement meilleure, notamment avec zram ou un stockage rapide. Mesurez la charge avant de modifier les valeurs de la distribution. Il n’est pas nécessaire de changer systématiquement vfs_cache_pressure.

Si les erreurs mémoire persistent

Consultez les logs du noyau, les limites des services ou conteneurs et la consommation des applications. Un swap continuellement sollicité peut annoncer un manque de RAM ou une fuite mémoire. Sur WordPress, un audit des performances et de l’hébergement aide à identifier la cause.

Références

Manuel swapon ; Documentation du noyau : swappiness.

La Dispute - King Park photo 1

La Dispute – King Park

La Dispute est un groupe de post-hardcore américain, originaire de Grand Rapids, dans le Michigan. Formé en 2004, les membres principaux sont Jordan Dreyer (chant), Brad Vander Lugt (batterie), Chad Morgan-Sterenberg (guitare) et Adam Vass (basse).

Dreyer n’était pas chanteur et n’avait jamais composé de musique lors de la création de La Dispute mais écrivait déjà à l’époque des poésies et de courtes fictions, ce qui se perçoit dans pas mal de morceaux.

L’origine du nom du groupe La Dispute est issue de la pièce éponyme écrite par le dramaturge français Pierre de Marivaux. En effet, le chanteur du groupe, Jordan Dreyer lut la pièce au lycée et fit de nombreux parallèles entre le travail de Marivaux et la musique qu’il composait à l’époque.

En voici un petit exemple avec King Park:

Lire La Dispute – King Park

BASH : supprimer les fichiers de session PHP obsolètes photo

Nettoyer les fichiers de session PHP obsolètes sous Debian et Ubuntu

Lorsque des milliers de fichiers sess_* occupent les inodes d’un serveur, vérifiez d’abord le service Debian phpsessionclean.timer. Il nettoie automatiquement les sessions PHP expirées selon leur chemin et leur durée de vie. Une suppression manuelle avec find ne doit intervenir qu’après avoir identifié le gestionnaire, le chemin et la valeur session.gc_maxlifetime réellement utilisés par PHP-FPM.

Les sessions PHP stockées sous forme de fichiers sont petites. Pourtant, un serveur peut en accumuler plusieurs centaines de milliers. Le volume occupé reste parfois modeste, mais chaque fichier consomme un inode.

Lorsque tous les inodes d’un système de fichiers sont utilisés, Linux ne peut plus créer de nouveaux fichiers. Le serveur renvoie alors l’erreur No space left on device, même si plusieurs gigaoctets restent disponibles.

Sous Debian et Ubuntu, le paquet php-common fournit normalement un script et un timer systemd chargés de nettoyer ces sessions. Avant d’ajouter une tâche cron personnelle, il faut donc vérifier pourquoi ce mécanisme ne fonctionne plus.

Lire Nettoyer les fichiers de session PHP obsolètes sous Debian et Ubuntu