Skip to main content

Drop RAM SWAP CPU & MEM

lister les process qui occupe le swap :  

for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less

DROP mémoire cache + voir résultat 

free -h && sudo sysctl vm.drop_caches=3 && free –h

Relancer le swap

sudo swapoff –a && sudo swapon -a

Problème lié au swap

Déplacer le cache de Swap vers la mémoire si elle est pas trop sollicitée en exécutant la commande : 

swapoff -a

changer le swappiness à 10 au lieu de 40 (valeur recommandée sur postgre) ce qui a permis de soulager le swap
il ne sera sollicité que la mémoire passe en full (ce qui n'était pas le cas avant ce changement, le swap se remplit fréquemment même si la RAM est vide )


Pour modifier la valeur sans redémarrer le système d'exploitation, exécutez la commande suivante :

sysctl -w vm.swappiness=10

Pour modifier la valeur temporairement (après le redémarrage la valeur sera sautée)

htop

Pour reloader la config :

sysctl --system

une fois le swap vidé passer la commande suivante pour réactiver le swap :

swapon -a

La config swappiness se trouve : 
/etc/sysctl.conf

droper cache mem et swap autrement : 

sync; echo 3 > /proc/sys/vm/drop_caches

image.png

trier le CPU ou la mémoire sur la machine : 
top ou htop

commande avancée pour trier la mémoire: 

ps -eo size,pid,user,command --sort -size |    awk '{ hr=$1/1024 u; printf("%13.2f Mb ",hr) } { for ( x=4 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" }' |    cut -d "" -f2 | cut -d "-" -f1

image.png

autres commande pour CPU et mem triez par top:

ps -eo pid,user,comm,%mem --sort=-%mem | head -n 6
ps -eo pid,user,comm,%mem --sort=-%cpu | head -n 6

Vous pouvez faire des teste de stress sur une machine pour voir comment elle réagit via :

Yum install stress

Commande stress mémoire : 

stress --vm 1 --vm-bytes 1G --timeout 30s