web-dev-qa-db-fra.com

Amazon EC2 - disque plein

Quand je lance df -h sur mon serveur Amazon EC2, voici la sortie:

[ec2-user@ip-XXXX ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1             25G   25G     0 100% /
tmpfs                 4.0G     0  4.0G   0% /dev/shm

pour une raison quelconque, quelque chose mange mon espace de stockage.

Im essayant de trouver tous les gros fichiers/dossiers et voici ce que je récupère:

[ec2-user@ip-XXXX ~]$ Sudo du -a / | sort -n -r | head -n 10
993580  /
639296  /usr
237284  /usr/share
217908  /usr/lib
206884  /opt
150236  /opt/app
150232  /opt/app/current
150224  /opt/app/current/[deleted].com
113432  /usr/lib64

Comment savoir ce qui mange mon espace de stockage?

44
Dan Revah

Eh bien, je pense que son (ou plusieurs) fichiers journaux qui sont devenus trop volumineux et doivent être supprimés/sauvegardés. Je suggère d'aller d'abord chercher les gros fichiers. Trouvez donc tous les fichiers supérieurs à 10 MB (10 Mo est une taille de fichier assez grande, vous pouvez choisir +1 Mo pour 1 Mo de la même manière)

Sudo find / -type f -size +10M -exec ls -lh {} \;

et maintenant vous pouvez identifier ceux qui causent le problème et les traiter en conséquence.

Quant à votre original du -a / | sort -n -r | head -n 10, cela ne fonctionnera pas car il est trié par taille, et donc, tous les répertoires ancêtres d'un fichier volumineux remonteront la pyramide, tandis que le fichier individuel sera très probablement manqué.

Remarque: Il devrait être assez simple de remarquer la présence d'autres fichiers journaux/binaires similaires à l'emplacement des fichiers que vous recherchez, donc comme suggestion, faites cd dans le répertoire contenant le fichier d'origine à nettoyer plusieurs fichiers du même type. Vous pouvez également parcourir la commande pour les fichiers dont la taille est supérieure à 1MB suivant, et ainsi de suite.

73
mu 無

Si vous n'êtes pas en mesure de trouver un fichier gigantesque, la suppression de certains processus pourrait résoudre le problème (cela a fonctionné pour moi, lisez la réponse complète pour savoir pourquoi)

Plus tôt:

/dev/xvda1 8256952 7837552 0100% /

Maintenant

/dev/xvda18256952 1062780 6774744 14% /

Raison: Si vous faites rm <filename> sur un fichier ouvert par un processus, il ne supprime pas réellement le fichier et le processus pourrait encore écrire dans le fichier. Ces fichiers fantômes ne peuvent pas être trouvés par la commande find ou supprimés. Utilisez cette commande pour savoir quels processus utilisent des fichiers supprimés:

lsof +L1

Redémarrez la machine ou arrêtez les processus pour libérer les fichiers.

Lisez ceci: https://serverfault.com/questions/232525/df-in-linux-not-showing-correct-free-space-after-file-removal/232526

18
user18853

À /, tapez du -hs * comme root:

$ Sudo su -
cd /; du -hs *

Vous verrez la taille complète de tous les dossiers et identifierez les plus gros.

10
Ricardo Martins

Cet espace est consommé par les notifications par mail

vous pouvez le vérifier en tapant

Sudo find / -type f -size +1000M -exec ls -lh {} \;

Il affichera de grands dossiers au-dessus de 1000 Mo

Le résultat aura un dossier

/var/mail/username

Vous pouvez libérer cet espace en exécutant la commande suivante

> /var/mail/username

Notez que le symbole supérieur à (>) n'est pas une invite, vous devez exécuter la cmd avec.

Vérifiez maintenant que vous libérez de l'espace en

df -h

Vous avez maintenant suffisamment d'espace libre, profitez-en ... :)

6

la réponse de ansh0l est le chemin à parcourir pour trouver des fichiers volumineux. Mais, si vous voulez voir combien d'espace chaque répertoire de votre système de fichiers consomme, accédez au répertoire racine, puis faites du -k --max-depth= '. Cela vous montrera combien d'espace est consommé par chaque sous-répertoire du répertoire racine. Lorsque vous repérez le coupable, accédez à ce répertoire, puis exécutez à nouveau la même commande et répétez l'opération jusqu'à ce que vous trouviez les fichiers qui consomment tout l'espace.

2
mti2935

Si vous avez des instantanés sur le système de fichiers, l'utilisation ne s'affiche pas dans le système d'exploitation.

Ainsi, plus vous laissez votre instantané, plus il consommera de disque sur votre volume actuel. Si vous supprimez l'instantané, redémarrez la capacité de disque manquante réapparaîtra.

0
Stevie