Como posso verificar o que ocupa espaço em disco em / tmp?

8

Estou trabalhando em um servidor externo - apenas fazendo algumas APIs por lá. Hoje quando eu queria usar api php retornou o seguinte erro:

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

Então eu descobri que o tmp está cheio:

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

Então eu acho que tenho que limpar algum lixo no tmp - mas antes de tudo eu gostaria de saber o que está causando o problema, quero dizer o que leva tanta memória no tmp? Talvez algo está inundando tmp dir de alguma forma? Não sou especialista em administração de sistemas, apenas escrevo web-api ... É normal que o tamanho do tmp seja excedido? Talvez isso aconteça de vez em quando?

O resultado do comando:

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

Estranho - como eu não entendo muitas coisas no diretório tmp ... talvez algo mais esteja ocupando tanto espaço em disco - como posso verificá-lo?

user166241
fonte

Respostas:

9

O primeiro comando indica que / tmp está realmente no mesmo sistema de arquivos que / (ou seja, todo o resto). Se sua partição raiz estiver cheia, pode ser que outras coisas (como / var / log) estejam ocupando espaço.

Uma maneira decente de encontrar coisas é fazer

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

para descobrir quais diretórios são grandes. Em seguida, você pode continuar a usar o cd em diretórios inferiores e executar novamente o comando para restringir as coisas.

Alan Shutko
fonte
11
Execute uma verificação rápida sobre o conteúdo de /var/log/- Se um programa estiver exibindo gigabytes de erros não monitorados, isso poderá preencher rapidamente uma unidade.
Darth Android
graças - que era boa ideia do que elegância para arquivos escondidos - o problema era enorme arquivo ".xsession-errors" em alguns dir usuários casa - por agora eu apenas excluí-la
user166241
3

Em uma distribuição recente:

du -sh /tmp/* | sort -h

Em uma distribuição antiga:

du -csm /tmp/* | sort -n
Gilles Quenot
fonte
Eu editei pós - o resultado do primeiro comando é estranho ...
user166241
2

Verifique se você não ficou sem 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
fonte
Comentário acima é para a referência para o ppl com o mesmo problema
Zuzu
0

É isso que eu tenho no meu bashrc. Você terá uma boa idéia do que é "grande" e poderá investigar a partir daí. Use-o quando tivermos usuários que gostem de usar os sistemas / tmp em vez de nosso espaço tmp compartilhado.

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
fonte