Nettoyer sa RAM de temps en temps

On peut commander au noyau de purger les données cachées en RAM

Et on peut même le faire automatiquement.

 

Environnement

PC sous Linux Debian 10 Buster

Anacron et les tâches chaque heure fonctionnent: voir mon article

Script pour purger la RAM

Le but est de provoquer une purge toutes les 4 heures.

Je ne discute pas ici du bien fondé de l’utilisation de la commande echo 3 > /proc/sys/vm/drop_caches, vous trouverez plein de pour vs contre sur le web.

La documentation du noyau.

Créer le fichier /etc/cron.hourly/purge-ram

Y mettre:

#!/bin/bash
#
#set -x
# test si le fichier résultat existe sinon c'est le tout premier lancement et alors créer le fichier
if [ ! -f "/var/tmp/purge-ram.txt" ];
then touch /var/tmp/purge-ram.txt
 echo 0 > /var/tmp/purge-ram.txt
fi

# date du jour
ddj=$(date +%s)
# date de la dernière modification du fichier
ddmf=$(stat -c %Y /var/tmp/purge-ram.txt)
# comparaison
comp=$(($ddj-$ddmf))
# référence 4 h = 14400 secondes
ref=14400
if [ $comp -lt $ref ]
then
 echo $comp "secondes depuis le dernier passage" 
else 
 echo 'Au moins 4 heures depuis le dernier passage, on repart à 0'
 echo 0 > /var/tmp/purge-ram.txt
fi
nb=$(</var/tmp/purge-ram.txt)
if [ "$nb" -lt "4" ]
then
 echo 'passage '$nb 
 nb=$(($nb + 1)) && echo $nb>/var/tmp/purge-ram.txt
else
 echo "on purge bébé"
 echo 0 > /var/tmp/purge-ram.txt && free -mht && sync && echo 3 > /proc/sys/vm/drop_caches && free -mht
fi

Conclusion

Comme dans la vie c’est mieux de tirer la chasse sur les vieilleries.

 

Par Bidouille De Bian

Bidouilleur sur Linux Debian 10 (Buster). Débutant dans le blog sur Wordpress.