Estouro / tmp montado quando houver espaço livre em /

26

Recentemente, enfrentei um problema de "estouro" /tmp. Não tenho uma /tmppartição separada e há 17% de graça /- então por que recebi um tmpsistema de arquivos com estouro ?

insira a descrição da imagem aqui

insira a descrição da imagem aqui

# /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 saída

/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

Estou executando o Ubuntu 12.04.1 LTS.

Eu também verifiquei df -i, existem inodes gratuitos.

Rahul Patil
fonte
Interessante. Você poderia mostrar a saída do mountcomando e o conteúdo do / etc / fstab?
precisa saber é o seguinte
@dchirikov post atualizado ..
Rahul Patil
Você não está simplesmente ficando sem memória? ( free -m) E qual kernel você está executando? ( uname -a)
gertvdijk
@gertvdijk verificar i atualizou essas coisas ...
Rahul Patil
11
Por favor, explique o Linux 2.6.32-41-serverno "Ubuntu 12.04.1 LTS". Isso deveria ser 3.2.0-*. Dê mais informações. Esta atualização é incompleta? Executando uma virtualização baseada em VPS / Container? etc
gertvdijk

Respostas:

14

Quando o sistema inicializa e o disco rígido está cheio, nada pode gravar em / tmp. Portanto, durante o init, um tmpfs é criado e montado. Dessa forma, seu sistema pode inicializar com segurança, porque pode gravar em / tmp.

Libere espaço em disco e reinicie sua máquina. (Ou simplesmente desmonte / tmp, se você tiver certeza de que nada a usa).

Definir este valor como 0 desativa a configuração. , que eu esperaria que corresse o risco de falha de inicialização ou de não conseguir fazer login no sistema.

Penso que a resposta de Nitesh B. é perigosa e deve ser evitada.

user50849
fonte
Talvez possamos encontrar uma maneira de reverter automaticamente o tmp suportado por ramdisk quando tivermos espaço em disco?
CMCDragonkai
Libero muito espaço, reinicializo e agora não consigo entrar. Talvez a alternativa @mpontillo fosse mais segura?
Pablo #
@PabloBianchi Talvez tenha sido publicado 6 meses após o meu, por isso não o avaliei realmente. Parece uma solução temporária, e você estaria no mesmo lugar novamente quando reiniciar, por isso é mais sobre esconder o problema do que corrigi-lo, eu acho.
user50849
12

Eu estava enfrentando o mesmo problema em um dos meus servidores Ubuntu, depois de pesquisar na net, consegui a solução.

Como proteção contra pouco espaço em disco, alguns daemons "ocultam" automaticamente o atual / tmp / dir com um disco ram se a partição raiz ficar sem espaço em disco. Infelizmente, não há reversão automática desse processo, uma vez que espaço em disco suficiente está livre novamente.

Para resolver esse problema, desmonte seu / tmp e execute este comando:

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

Definitivamente, isso resolverá seu problema.

Nitesh B.
fonte
7
E o que acontece na próxima vez em que o sistema inicializar sem espaço em disco suficiente depois que você o instruir a não criar um tmpfs? Acho que seu conselho é perigoso e incorreto para a grande maioria dos usuários / casos.
User50849 5/05
O que isso está fazendo? echo 'MINTMPKB=0' > /etc/default/mountoverflowtmp?
CMCDragonkai
@CMCDragonkai Veja minha resposta para uma explicação disso.
User50849
Funcionou para mim depois que o disco estava cheio. Defina-o como 0, reiniciado e retorne-o para 1 depois. Portanto, quando o disco estiver cheio da próxima vez, o sistema mostrará o mesmo comportamento.
Marco Hegenberg
Como você "desmonta seu / tmp"? Execução sudo umount /tmpgera o erro/tmp: device is busy.
Cerin
8

Isso me ajudou ; ou seja, a seguinte foi uma solução alternativa depois que eu limpei algum espaço:

sudo mount -o bind /var/tmp /tmp
mpontillo
fonte