Lorsqu’une application comme Django (servie par Gunicorn) consomme trop de mémoire, le système peut se retrouver à court de RAM. Sans swap pour absorber le surplus, le noyau Linux active son mécanisme de dernier recours : l’OOM Killer.
Exemple classique dans les logs :
[CRITICAL] WORKER TIMEOUT
Worker was sent SIGKILL! Perhaps out of memory?
Ce qui se passe étape par étape :
| Étape | Conséquence |
|---|---|
| 1. Django / Gunicorn consomme toute la RAM | Plus aucune mémoire libre pour le système |
| 2. Le noyau ne trouve plus de pages à évincer | Aucune swap disponible pour soulager la RAM |
| 3. Linux active l’OOM Killer | Il choisit un processus à tuer (souvent le plus gourmand) |
| 4. Gunicorn est tué brutalement (SIGKILL) | Le worker tombe sans pouvoir terminer les requêtes |
| 5. L’application redémarre en boucle | Instabilité, pertes de requêtes, downtime |
Sans swap, le crash est quasi inévitable. Avec une swap configurée, le système aurait eu une marge de manœuvre pour éviter le déclenchement de l’OOM Killer et maintenir l’application en vie.
```
Comments (1)
Please log in to leave a comment.
Log Inhi