Comment puis-je vérifier ce qui prend de l'espace disque dans / tmp?

8

Je travaille sur un serveur externe - je fais juste quelques API web là-bas. Aujourd'hui, quand j'ai voulu utiliser l'api php, j'ai renvoyé l'erreur suivante:

Unknown: write failed: No space left on device (28)

J'ai donc compris que tmp est plein:

~# df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       102G   97G     0 100% /

Donc je suppose que je dois vider certaines corbeilles dans tmp - mais tout d'abord je voudrais savoir ce qui cause le problème, je veux dire ce qui prend autant de mémoire dans tmp? Peut-être que quelque chose inonde le tmp dir d'une manière ou d'une autre? Je ne suis pas expert en administration système J'écris juste des web-api ... Est-il normal que la taille de tmp soit dépassée? Peut-être que ça arrive juste de temps en temps?

Le résultat de la commande:

du -sh /tmp/* | sort -h
0       /tmp/tmpEZIyDT
0       /tmp/unity_support_test.0
4.0K    /tmp/amazoncookie.txt
4.0K    /tmp/at-spi2
4.0K    /tmp/filewhHOLH
4.0K    /tmp/keyring-b3ZOTY
4.0K    /tmp/mc-domator
4.0K    /tmp/mc-root
4.0K    /tmp/pulse-2L9K88eMlGn7
4.0K    /tmp/pulse-PKdhtXMmr18n
4.0K    /tmp/ssh-thimUVhk2748
8.0K    /tmp/pulse-5N1YM8s2cT0i

Étrange - si je comprends peu de choses dans le répertoire tmp ... peut-être que quelque chose d'autre prend tellement d'espace disque - comment puis-je le vérifier?

user166241
la source

Réponses:

9

La première commande indique que / tmp se trouve en fait sur le même système de fichiers que / (c'est-à-dire tout le reste). Si votre partition racine est pleine, il se peut que d'autres éléments (comme / var / log) prennent de la place.

Une façon décente de trouver des choses est de faire

du -sc * .[^.]* | sort -n

pour trouver quels répertoires sont gros. Ensuite, vous pouvez continuer à cd dans les répertoires inférieurs et réexécuter la commande pour affiner les choses.

Alan Shutko
la source
1
Exécutez une vérification rapide du contenu de /var/log/- Si un programme a craché des gigaoctets d'erreurs non surveillées, cela peut rapidement remplir un lecteur.
Dark Android
merci - c'était une bonne idée de rechercher des fichiers cachés - le problème était un fichier énorme ".xsession-errors" dans le répertoire de certains utilisateurs - pour l'instant je viens de le supprimer
user166241
3

Sur une distribution récente:

du -sh /tmp/* | sort -h

Sur une distribution plus ancienne:

du -csm /tmp/* | sort -n
Gilles Quenot
la source
J'ai édité le post - le résultat de la première commande est étrange ...
user166241
2

Vérifiez si vous n'avez pas manqué d'inodes.

# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda3            1236992 1236992       0  100% /
tmpfs                1007716       1 1007715    1% /dev/shm
/dev/sda1              38456      45   38411    1% /boot
Zuzu
la source
Le commentaire ci-dessus sert de référence pour les personnes ayant le même problème
Zuzu
0

C'est ce que j'ai dans mon bashrc. Vous donnera une bonne idée de ce qui est "gros" et vous pourrez alors enquêter à partir de là. Utilisez-le lorsque nous avons des utilisateurs qui aiment utiliser les systèmes / tmp au lieu de notre espace tmp partagé.

function get_big_usage () {
    echo -e "\n"
    du -ks /tmp/* | sort -nr | head
    echo -e "\n"
    du -ks /var/* | sort -nr | head
    echo -e "\n"
    du -ks /home/* | sort -nr | head
}
user757053
la source