Aller au contenu principal

Chapitre 2.3 - Gestion Mémoire et Swap

Objectifs d'Apprentissage​

À la fin de ce chapitre, vous serez capable de:

  • Comprendre comment Linux gère la mémoire
  • Expliquer la mémoire virtuelle et la pagination
  • Comprendre le swap et son rôle
  • Monitorer l'utilisation mémoire
  • Optimiser l'utilisation mémoire

Qu'est-ce que la Gestion Mémoire?​

Linux utilise un système sophistiqué de gestion mémoire qui combine mémoire physique (RAM) et mémoire virtuelle (swap) pour optimiser les performances et permettre l'exécution de plus de processus que la RAM disponible.


Mémoire Physique vs Mémoire Virtuelle​

Mémoire Physique (RAM)​

  • Rapide: Accès direct par le CPU
  • Limitée: Quantité fixe installée
  • Volatile: Perdue au redémarrage
  • Coûteuse: Plus chère que le stockage disque

Mémoire Virtuelle​

  • Abstraite: Chaque processus voit un espace mémoire virtuel
  • Pagination: Divisée en pages (généralement 4KB)
  • Mapping: Pages virtuelles mappées vers RAM ou swap
  • Protection: Isolation entre processus

Pagination et MMU​

Le MMU (Memory Management Unit) gère la traduction d'adresses:


Swap​

Le swap est un espace sur disque utilisé comme extension de la RAM:

Rôles:

  • Extension de la mémoire disponible
  • Support de plus de processus
  • Amélioration de la stabilité

Types:

  • Swap partition: Partition dédiée (recommandé)
  • Swap file: Fichier swap (plus flexible)

Configuration:

# Voir le swap
free -h
swapon --show

# Créer un fichier swap
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# Activer au démarrage
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Monitoring Mémoire​

Commandes de Monitoring​

# Vue d'ensemble
free -h

# Détails par processus
top
htop

# Statistiques détaillées
cat /proc/meminfo

# Utilisation par processus
ps aux --sort=-%mem | head

Interprétation​

  • MemTotal: RAM totale
  • MemFree: RAM libre
  • MemAvailable: RAM disponible (libre + cache récupérable)
  • SwapTotal: Swap total
  • SwapFree: Swap libre

Optimisation Mémoire​

Bonnes Pratiques​

  1. Surveiller régulièrement

    • Utiliser free, top, htop
    • Identifier les processus gourmands
  2. Ajuster le swap

    • Taille recommandée: 1-2x la RAM
    • Plus si serveur avec beaucoup de RAM
  3. Limiter les processus

    • Utiliser ulimit pour limiter la mémoire
    • Configurer OOM killer
  4. Nettoyer le cache

    # Libérer le cache (si nécessaire)
    sync
    echo 3 | sudo tee /proc/sys/vm/drop_caches

Résumé​

Dans ce chapitre, vous avez appris:

Gestion Mémoire: RAM + Swap pour optimiser les performances
Mémoire Virtuelle: Abstraction pour chaque processus
Pagination: Division en pages, gestion par MMU
Swap: Extension de la RAM sur disque
Monitoring: free, top, htop, /proc/meminfo
Optimisation: Surveillance, ajustement swap, limites


Prochaines Étapes​

Chapitre 2.4: Système de Fichiers Virtuel (VFS)
Chapitre 2.5: Gestion des Processus


Chapitre créé le: Décembre 2024