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ètremin_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 valeurmin_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
, ou3
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écutersync
avant de définir la valeur de ce paramètre est recommandé.Important
Utiliserdrop_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/.