S B W E B A G E N C Y

Le digital au service de votre métier ...

Charge CPU serveur VSP "kswapd0" - SB WebAgency : Le digital au service de votre métier

administration système kswa

Charge CPU serveur VSP “kswapd0”

Généralement en tant qu’Admin Systèmes lorsque vous avez un problème de CPU sur un serveur, vous utilisez en premier lieu les commandes htop, top, top -i pour localiser les processus en cause.

capture de la commande shell top

on se rend compte que le processus “kswpd0” occupe 99.7% du total CPU de notre serveur.

kswapd0, s’occupe de la mémoire virtuelle et peut rencontrer des problèmes dus au déplacement trop fréquent des données des processus vers SWAP (Le swap est une mémoire physique “virtuelle”, souvent installée sous Linux dans une partition indépendante.), provoquant des pics de charge processeur et une diminution des performances du système.

Vous pouvez vérifier la valeur de la variable système qui précise à partir de quel moment les données doivent être stockées dans la mémoire SWAP au lieu de la RAM. La commande ci-dessous précise cette valeur en pourcentage :

cat /proc/sys/vm/swappiness

La valeur par défaut de la variable système swappiness est souvent de 60% => à partir de 60% d’utilisation de la mémoire RAM, le système doit commencer à utiliser le SWAP ( transfert et récupération de données). À partir de de 60% d’utilisation de la RAM, le processus kswpd0 se met en mouvement pour gérer l’utilisation du swap et occupe généralement en continue la totalité des processeurs, ce qui dégrade considérablement la performance serveur (notamment pour les petits serveurs VPS), et rend parfois ce dernier inaccessible.

Pour remédier à la situation décrite ci-dessus, il suffit de mettre la valeur swappiness à 0, ce qui implique que le mécanisme SWAP se déclenche uniquement lorsqu’il n’y a plus d’espace RAM (utilisation intégrale de la mémoire RAM). Pour se faire exécuter la commande ci-dessous :

echo vm.swappiness=0 | sudo tee -a /etc/sysctl.conf

Ou sinon ouvrir le fichier /etc/sysctl.conf avec votre editeur vim ou nano et ajouter vm.swappiness=0

Vous pouvez en profiter pour vider le cache mémoire avec la commande :

echo 1 > /proc/sys/vm/drop_caches

Verifiez l’utilisation de l’espace disque avec la commande free -m et des processus avec les commandes

htop / top / top -i

Références de l’article :

laissez un commentaire