Docker

Conteneur tué par manque de mémoire (code 137, OOMKilled)

Grave Quelque chose ne fonctionne pas : à traiter maintenant.

Le message tel qu'il apparaît dans les logs :

exited with code 137

Ce que ça veut dire

Le noyau Linux a tué le programme parce que le serveur manquait de mémoire vive. Le conteneur redémarre, puis se refait tuer : il tourne en boucle.

Pourquoi ça arrive

  • Trop d'applications pour la RAM du serveur (Immich, Nextcloud et Paperless sont gourmands).
  • Pas de fichier d'échange (swap) pour absorber les pics.
  • Une limite memory: trop basse dans le compose.yml.

Comment corriger

  1. Confirmez le diagnostic :

    sudo docker inspect <conteneur> --format '{{.State.OOMKilled}}'
    sudo journalctl -k | grep -i "out of memory"
  2. Voyez qui consomme quoi :

    sudo docker stats --no-stream
  3. Ajoutez 2 Go de swap si swapon --show ne renvoie rien :

    sudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile
    sudo mkswap /swapfile && sudo swapon /swapfile
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
  4. Si ça ne suffit pas : retirez une application ou prenez un serveur avec plus de RAM. Le ticket de Mon serveur indique la mémoire nécessaire.

Pour aller plus loin

Vous avez d'autres messages dans vos logs ?

Collez-les dans le décodeur : il reconnaît les erreurs connues et vous dit lesquelles sont graves. Tout reste dans votre navigateur.

Analyser mes logs