Il arrive qu'un logiciel prenne involontairement beaucoup de cache et utilise également le swap à cause de ce surplus de cache. Pour remédié à ce problème.
Réalisable avec cette simple commande :
echo 3 > /proc/sys/vm/drop_caches
Par défaut, la valeur est à 0.
Plus d'infos à cette adresse.
Vérifions qu'il y a eu du changement :
free -m cat /proc/swaps
rien de plus simple :
swapoff -a swapon -a
Ou de manière précises :
swapon -s swapoff /dev/sda5 swapon /dev/sda5
Il peut arriver qu'une application écrite nodejs (par exemple!) ait besoin d'un peu plus de 1Go de mémoire pour être construite. On aura alors besoin en toute urgence d'une swap fait en deux, trois mouvements dont voici la procédure :
dd if=/dev/zero of=/swapfile1 bs=1024 count=1048576 chown root:root /swapfile1 chmod 0600 /swapfile1 mkswap /swapfile1 swapon /swapfile1
Dans le cas d'une grosse application où une partie de celle-ci peut-être mis directement en mémoire. Cela peut grandement augmenter les performances.
mkdir /home/tmp
On enregistre le point de montage dans /etc/fstab :
tmpfs /home/tmp tmpfs defaults,size=32M,uid=mon-utilisateur,gid=mon-groupe 0 0
On créér une tache cron pour sauvegarder de temps en temps les données.
crontab -u mon-utilisateur -l */5 * * * * /usr/bin/rsync -ar /home/kresus/kresus_vram/ /home/kresus/.kresus/
Si l'application à une unité systemd, alors on peut ajouter ces directives qui viendont synchroniser les données sur le disque en mémoire :
Environment=KRESUS_DIR=/home/kresus/kresus_vram ExecStartPre=/usr/bin/rsync -ar /home/kresus/.kresus/ /home/kresus/kresus_vram/