Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

5.5. Réglages de la mémoire virtuelle

La mémoire virtuelle est habituellement consommée par les processus, les caches de systèmes de fichiers et le noyau. L'utilisation de la mémoire virtuelle dépend d'un certain nombre de facteurs qui peuvent être affectés par les paramètres suivants :
swappiness
Une valeur de 0 à 100 qui contrôle le degré auquel le système effectue des swaps. Une valeur élevée donnera la priorité aux performances du système, effectuant des swaps de manière agressive pour pousser les processus hors de la mémoire physique lorsqu'ils ne sont pas actifs. Une valeur faible donne priorité à l'interactivité et évite de swapper les processus hors de la mémoire physique aussi longtemps que possible, ce qui réduit la latence des réponses. La valeur par défaut est 60.
min_free_kbytes
Nombre minimum de kilooctets à garder libres à travers le système. Cette valeur est utilisée pour calculer une valeur limite pour chaque zone de mémoire basse, celles-ci se voient ensuite assigner un nombre de pages libres réservées proportionnel à leur taille.

Avertissement

Soyez prudent lorsque vous définissez ce paramètre, car des valeurs trop élevées ou trop basses peuvent endommager le système.
Définir le paramètre min_free_kbytes trop bas empêche le système de réclamer de la mémoire. Ceci peut résulter en la suspension du système et l'interruption pour cause de mémoire saturée de multiples processus.
Cependant, définir ce paramètre sur une valeur trop élevée (5 à 10% de la mémoire système totale) causera à votre système de se retrouver avec une mémoire saturée immédiatement. Linux est désigné pour utiliser toute la mémoire vive disponible pour mettre en cache les données de système de fichiers. Définir une valeur min_free_kbytes élevée fera dépenser au système trop de temps à réclamer de la mémoire.
dirty_ratio
Définit une valeur de pourcentage. La réécriture des données modifiées débutera (via pdflush) lorsque les données modifiées comprendront ce pourcentage de mémoire système totale. La valeur par défaut est de 20.
dirty_background_ratio
Définit une valeur de pourcentage. La réécriture des données modifiées débutera dans l'arrière-plan (via pdflush) lorsque les données modifiées comprendront ce pourcentage de mémoire totale. La valeur par défaut est de 10.
drop_caches
Définir cette valeur sur 1, 2, ou 3 cause au noyau d'abandonner diverses combinaisons de caches de pages et de caches de dalles.
1
Le système effectue une invalidation et libère toute la mémoire du cache des pages.
2
Le système libère toute la mémoire du cache de dalle non-utilisée.
3
Le système libère toute la mémoire du cache de pages et du cache de dalle.
Ceci est une opération non-destructive. Comme les objets modifiés ne peuvent pas être libérés, exécuter sync avant de définir la valeur de ce paramètre est recommandé.

Important

Utiliser drop_caches pour libérer la mémoire n'est pas recommandé dans un environnement de production.
Pour définir ces valeurs de manière temporaire pendant les réglages, effectuez une opération echo de la valeur souhaitée dans le fichier correspondant dans le système de fichiers proc. Par exemple, pour définir swappiness temporairement sur 50, veuillez exécuter :
# echo 50 > /proc/sys/vm/swappiness
Pour définir cette valeur de manière persistante, vous devrez utiliser la commande sysctl. Pour obtenir davantage d'informations, veuillez consulter le Guide de déploiement, disponible sur http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/.