Débordement / tmp monté lorsqu'il y a de l'espace libre sur /

26

J'ai récemment rencontré un problème de "débordement" sur /tmp. Je n'ai pas de /tmppartition séparée , et il y a 17% d'espace libre /- alors pourquoi ai-je eu un tmpsystème de fichiers de débordement ?

entrez la description de l'image ici

entrez la description de l'image ici

# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
/dev/mapper/safesquid-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=d029e04b-11e9-42e1-b1d3-9cde73cb3b67 /boot           ext2    defaults        0       2
/dev/mapper/safesquid-swap_1 none            swap    sw              0       0

mount sortie

/dev/mapper/safesquid-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda1 on /boot type ext2 (rw)
overflow on /tmp type tmpfs (rw,size=1048576,mode=1777)
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)


root@safesquid:~# free -m
             total       used       free     shared    buffers     cached
Mem:          2009        182       1826          0          9         48
-/+ buffers/cache:        124       1885
Swap:          715        130        585
root@safesquid:~# uname -a

Linux safesquid 2.6.32-41-server #94-Ubuntu SMP Fri Jul 6 18:15:07 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

J'utilise Ubuntu 12.04.1 LTS.

J'ai également vérifié df -i, il y a des inodes gratuits.

Rahul Patil
la source
Intéressant. Pourriez-vous montrer la sortie de la mountcommande et le contenu de / etc / fstab?
dchirikov
@dchirikov article mis à jour ..
Rahul Patil
N'êtes-vous pas simplement à court de mémoire? ( free -m) Et quel noyau utilisez-vous? ( uname -a)
gertvdijk
@gertvdijk vérifiez que j'ai mis à jour ces choses ...
Rahul Patil
1
Veuillez expliquer Linux 2.6.32-41-serversur "Ubuntu 12.04.1 LTS". Cela devrait l'être 3.2.0-*. Donnez plus d'informations. S'agit-il d'une mise à niveau incomplète? Vous exécutez une virtualisation basée sur VPS / Container? etc.
gertvdijk

Réponses:

14

Lorsque le système démarre et que le disque dur est plein, rien ne peut écrire dans / tmp. Ainsi, lors de l'initialisation, un tmpfs est créé et monté. De cette façon, votre système peut démarrer en toute sécurité, car il peut écrire dans / tmp.

Libérez de l'espace disque et redémarrez votre machine. (Ou tout simplement démonter / tmp, si vous êtes sûr que rien ne l'utilise).

La définition de cette valeur sur 0 désactive la configuration. , qui, je pense, comporte le risque d'échec de l'initialisation ou de ne pas pouvoir se connecter au système.

Je pense que la réponse de Nitesh B. est dangereuse et doit être évitée.

user50849
la source
Pouvons-nous peut-être trouver un moyen de rétablir automatiquement le tmp soutenu par ramdisk une fois que nous avons de l'espace disque?
CMCDragonkai
Je libère beaucoup d'espace, je redémarre et maintenant je ne peux plus me connecter. Peut-être que l'alternative @mpontillo était plus sûre?
Pablo A
@PabloBianchi Peut-être, cependant, il a été publié 6 mois après le mien, donc je ne l'ai pas vraiment évalué. Cela ressemble à une solution de contournement temporaire, et vous seriez de nouveau au même endroit lorsque vous redémarrez, donc il s'agit plus de cacher le problème plutôt que de le résoudre, je pense.
user50849
12

J'étais confronté au même problème sur l'un de mes serveurs Ubuntu, après avoir cherché sur le net, j'ai obtenu la solution.

Pour se protéger contre le faible espace disque, certains démons "assombrissent" automatiquement le répertoire / tmp / dir avec un disque RAM si la partition racine manque d'espace disque. Malheureusement, il n'y a pas de réversion automatique de ce processus une fois que suffisamment d'espace disque est à nouveau libre.

Pour résoudre ce problème, démontez votre / tmp et exécutez cette commande:

echo 'MINTMPKB=0' > /etc/default/mountoverflowtmp

Cela résoudra certainement votre problème.

Nitesh B.
la source
7
Et que se passe-t-il la prochaine fois que le système démarre sans suffisamment d'espace disque une fois que vous lui avez demandé de ne pas créer de tmpfs? Je pense que vos conseils sont dangereux et incorrects pour la grande majorité des utilisateurs / cas.
user50849
Qu'est-ce que ça fait? echo 'MINTMPKB=0' > /etc/default/mountoverflowtmp?
CMCDragonkai
@CMCDragonkai Voir ma réponse pour une explication de cela.
user50849
A fonctionné pour moi une fois le disque plein. Réglez-le sur 0, redémarrez et remettez-le à 1 après. Ainsi, lorsque le disque sera plein la prochaine fois, le système affichera le même comportement.
Marco Hegenberg
Comment "démontez-vous votre / tmp"? Courir sudo umount /tmpjette l'erreur/tmp: device is busy.
Cerin
8

Cela m'a aidé ; c'est-à-dire, ce qui suit était une solution de contournement après avoir libéré de l'espace:

sudo mount -o bind /var/tmp /tmp
mpontillo
la source