Linux - colmater les fuites mémoires- Optimisation ram

Mageia, Debian, Open Suse, Linux Mint, Ubuntu, Fedora ...

Modérateur: Slashtoy

Linux - colmater les fuites mémoires- Optimisation ram

Messagepar Slashtoy » 11 Sep 2013, 13:27

Comment trouver les fuites mémoires sous Linux et réattribuer de la mémoire "bloquée" qui n' a plus lieu d'être ?
"La première règle avec toute technologie utilisée dans les affaires, c’est que l’automatisation appliquée à un process efficace va augmenter l’efficacité. La seconde règle est que l’automatisation appliquée à un process inefficace va augmenter l’inefficacité.."
Bill Gates
Avatar de l’utilisateur
Slashtoy
Administrateur (e)
Administrateur (e)
 
Messages: 23746
Inscription: 18 Avr 2002, 19:13
Localisation: LILLE Bois Blancs

Re: Linux Debian - Trouver et colmater les fuites mémoires

Messagepar Slashtoy » 01 Nov 2013, 20:33

Up .
Des idées ? Des conseils? Des pistes ?
"La première règle avec toute technologie utilisée dans les affaires, c’est que l’automatisation appliquée à un process efficace va augmenter l’efficacité. La seconde règle est que l’automatisation appliquée à un process inefficace va augmenter l’inefficacité.."
Bill Gates
Avatar de l’utilisateur
Slashtoy
Administrateur (e)
Administrateur (e)
 
Messages: 23746
Inscription: 18 Avr 2002, 19:13
Localisation: LILLE Bois Blancs

Re: Linux Debian - Trouver et colmater les fuites mémoires

Messagepar Slashtoy » 20 Nov 2013, 16:04

Une piste pour que la RAM se vide plus vite ( suppression du vieux cache), ce qui ne colmate pas vraiment les éventuelles fuites mémoires mais cela
évite d'utiliser la mémoire cache du disque dur (qui est très lente)

Le swapiness est un paramètre du noyau Linux permettant de définir avec quelle sensibilité il va écrire dans le swap si la quantité de RAM à utiliser devient trop importante.
Seulement dans certains cas, comme la virtualisation (par exemple, avec OpenVZ), le noyau, en réservant trop tôt la mémoire réellement utilisée par un conteneur, va pousser inutilement des données sur le swap sans se poser plus de questions. Du moins c'est le comportement par défaut de la plupart des noyaux livrés avec les distributions les plus courantes

# echo 10 > /proc/sys/vm/swappiness


La valeur possible est à ajuster en 0 et 100, 60. 0 désactivera toute mise en swap du cache, et ne l'utilisera que pour y transférer des données d'application en cours (pour éviter la saturation réelle de la RAM).
100 dira au noyau d'utiliser le swap pour un oui ou pour un non

Si vous voulez éviter d'avoir à retaper la commande à chaque redémarrage de la machine, il va falloir modifier le fichier /etc/sysctl.conf (qui regroupe tous les paramètres noyaux à appliquer au démarrage), toujours avec les droits administrateur, avec votre éditeur de texte.
Si la ligne suivante est déjà présente, tant mieux, sinon, ajoutez-là à la fin du fichier :

vm.swappiness = 10


+ d'infos ici >
http://homeserver-diy.net/wiki/index.ph ... sous_Linux
"La première règle avec toute technologie utilisée dans les affaires, c’est que l’automatisation appliquée à un process efficace va augmenter l’efficacité. La seconde règle est que l’automatisation appliquée à un process inefficace va augmenter l’inefficacité.."
Bill Gates
Avatar de l’utilisateur
Slashtoy
Administrateur (e)
Administrateur (e)
 
Messages: 23746
Inscription: 18 Avr 2002, 19:13
Localisation: LILLE Bois Blancs

Re: Linux Debian - colmater les fuites mémoires- Optimsation

Messagepar Slashtoy » 02 Déc 2013, 16:18

http://wiki.tuxunix.com/index.php/Liber ... sous_Linux

>>pour connaitre les processus qui swappent sours Linux

#!/bin/bash
# Get current swap usage for all running processes
# Erik Ljungstrom 27/05/2011
SUM=0
OVERALL=0
for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"` ; do
PID=`echo $DIR | cut -d / -f 3`
PROGNAME=`ps -p $PID -o comm --no-headers`
for SWAP in `grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'` ; do
let SUM=$SUM+$SWAP
done
echo "PID=$PID - Swap used: $SUM - ($PROGNAME )"
let OVERALL=$OVERALL+$SUM
SUM=0

done
echo "Overall swap used: $OVERALL"


:coucou:
"La première règle avec toute technologie utilisée dans les affaires, c’est que l’automatisation appliquée à un process efficace va augmenter l’efficacité. La seconde règle est que l’automatisation appliquée à un process inefficace va augmenter l’inefficacité.."
Bill Gates
Avatar de l’utilisateur
Slashtoy
Administrateur (e)
Administrateur (e)
 
Messages: 23746
Inscription: 18 Avr 2002, 19:13
Localisation: LILLE Bois Blancs

Re: Linux Debian - colmater les fuites mémoires- Optimsation

Messagepar Slashtoy » 15 Juil 2015, 22:48

script pour libérrer de la mémoire vive non utilisée par des programmes mais allouée

Script bash de nettoyage mémoire

#!/bin/bash

echo "-----| Free Memory :"
free
echo "# Cleaning memory..."
sync
echo "3" > /proc/sys/vm/drop_caches
sleep 1
sync
echo "0" > /proc/sys/vm/drop_caches
sleep 30
echo "-----| Free Memory :"
free
"La première règle avec toute technologie utilisée dans les affaires, c’est que l’automatisation appliquée à un process efficace va augmenter l’efficacité. La seconde règle est que l’automatisation appliquée à un process inefficace va augmenter l’inefficacité.."
Bill Gates
Avatar de l’utilisateur
Slashtoy
Administrateur (e)
Administrateur (e)
 
Messages: 23746
Inscription: 18 Avr 2002, 19:13
Localisation: LILLE Bois Blancs

Re: Linux - colmater les fuites mémoires- Optimisation ram

Messagepar bzorg » 25 Oct 2015, 18:05

Valgrind est un logiciel modulaire. Parmi les modules on trouve par exemple Memcheck, qui permet de débusquer les failles dans un programme au niveau de l'utilisation de la mémoire. Memcheck vérifie entre autres :

Que l'on n'utilise pas de valeurs ou de pointeurs non initialisés ;
Que l'on n'accède pas à des zones mémoire libérées ou non allouées ;
Que l'on ne libère pas deux fois une zone mémoire ;
Que l'on n'oublie pas de libérer la mémoire allouée. Des options permettent de connaître avec précision les zones de mémoire qui sont perdues ;
Que l'on passe des arguments valides à certaines fonctions de la bibliothèque standard comme la fonction memcpy().
Image
Avatar de l’utilisateur
bzorg
Membre asso lillehardware
Membre asso lillehardware
 
Messages: 19370
Inscription: 25 Nov 2003, 18:28
Localisation: lille


Retourner vers Linux , ses distributions et les softs Open Source

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


cron