J'exécute une instance Linux sur EC2 (j'ai MongoDB et node.js installés) et j'obtiens cette erreur:
Cannot write: No space left on device
Je pense que je l'ai retrouvé dans ce fichier, voici la sortie df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda1 1032088 1032088 0 100% /
Le problème est que je ne sais pas ce que ce fichier est et je ne sais pas si ce fichier est même le problème.
Ma question est donc la suivante: comment puis-je corriger l'erreur "Il n'y a plus d'espace sur l'appareil"?
Ce fichier, /
est votre répertoire racine. Si c'est le seul système de fichiers que vous voyez dans df
, alors c'est tout. Vous avez un système de fichiers de 1 Go et il est 100% complet. Vous pouvez commencer à comprendre comment il est utilisé comme ceci:
Sudo du -x / | sort -n | tail -40
Vous pouvez ensuite remplacer /
avec les chemins qui prennent le plus de place. (Ils seront à la fin, grâce au sort
. La commande peut prendre un certain temps.)
Je sais que je réponds dans ce fil après près de 5 ans mais cela pourrait aider quelqu'un, j'ai eu le même problème, j'ai eu m4.xlarge instance df -h a dit que le/dev/xvda1 était plein, - 100%
Filesystem Size Used Avail Use% Mounted on
udev 7.9G 0 7.9G 0% /dev
tmpfs 1.6G 177M 1.4G 12% /run
/dev/xvda1 7.7G 7.7G 0 100% /
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
tmpfs 1.6G 0 1.6G 0% /run/user/1000
j'ai essayé de le résoudre voici les étapes
Sudo find / -type f -printf '%12s %p\n' 2>/dev/null|awk '{if($1>999999999)print $0;}'
M'a aidé à savoir que c'était le conteneur Docker qui parlait tout mon espace, donc j'ai poussé tout mon conteneur vers mon registre Docker, puis Sudo rm -rf/var/lib/docker/il a dégagé mon espace :) j'espère que cela aide quelqu'un :)
Si vous exécutez une instance de démarrage EBS (recommandé), vous pouvez augmenter la taille du volume racine (/) à l'aide de la procédure décrite dans cet article:
Redimensionnement du disque racine sur une instance EC2 de démarrage EBS en cours d'exécution
http://alestic.com/2010/02/ec2-resize-running-ebs-root
Si vous exécutez une instance de stockage d'instance (non recommandé), vous ne pouvez pas modifier la taille du disque racine. Vous devez soit supprimer des fichiers, soit déplacer des fichiers vers un stockage éphémère (par exemple,/mnt), soit attacher des volumes EBS et y déplacer des fichiers.
Voici un article que j'ai écrit qui décrit comment déplacer une base de données MySQL du disque racine vers un volume EBS:
Exécuter MySQL sur Amazon EC2 avec EBS
http://aws.Amazon.com/articles/166
... et envisagez de passer aux instances de démarrage EBS. Il y a plusieurs raisons pour lesquelles vous vous remercierez plus tard.
J'ai récemment rencontré ce problème sur Amazon Linux. Ma file d'attente de messages sortants crontab /var/spool/clientmqueue
était de 4,5 Go.
Je l'ai résolu en:
Sudo find / -type f -size +10M -exec ls -lh {} \;
/bin/rm -f <path-to-large-file>
Problème résolu!
Cela pourrait venir de Jenkins ou Docker. Pour résoudre cela, vous devez ( nettoyer les journaux Jenkins et définir sa taille .
Je viens de résoudre ce problème en exécutant cette commande:
Sudo apt autoremove
et beaucoup d'anciens paquets ont été supprimés, libérant jusqu'à 5 gigaoctets, par exemple il y avait beaucoup de paquets comme celui-ci "linux-aws-headers-4.4.0-1028"