Espaço em disco no Fedora 12

5

Estou usando o Fedora 12 no meu laptop. Eu tenho 10GB de espaço em disco e 2GB deles são gratuitos. Após 2-3 dias de atividade, o espaço termina e eu preciso reiniciar. Após a reinicialização recebo 2 GB de espaço livre de volta. Como posso evitar isso?

Principalmente eu uso o Firefox, Chrome, Gedit, Rhythmbox e em segundo plano: httpd, mysqld, conky. RAM: 1 GB, Troca: 1,2 GB.

    
por NARKOZ 13.11.2010 / 06:00

2 respostas

5

Em primeiro lugar, você deve descobrir o que está corroendo o seu espaço. Sugiro que você rastreie o arquivo físico ou o diretório que cresce para esse tamanho.

A maneira mais simples seria verificar os diretórios em / usando: (sugiro executá-lo como root )

 # du -hs /* 2> /dev/null
4.2M  /bin
25M   /boot
204K  /dev
6.7M  /etc
19G   /home
112M  /lib
16K   /lost+found
12K   /media
16K   /mnt
4.0K  /multimedia
1018M /opt
0     /proc
15M   /root
8.6M  /sbin
12K   /srv
4.2M  /storage
0     /sys
108K  /tmp
16G   /usr
4.3G  /var

Agora, você executará isso quando o computador tiver iniciado de novo e ainda não tiver começado a comer espaço e você salvar a saída em um arquivo ( ~/record-space )

$ sudo du -hs /* 2> /dev/null 1> ~/record-space

E quando o computador estiver se aproximando do estado "FULL", você poderá executar o comando novamente salvando a saída em um segundo arquivo.

$ sudo du -hs /* 2> /dev/null 1> ~/record-space2

Agora você pode comparar esses dois arquivos ( ~/record-space e ~/record-space2 ) para ver como os diretórios principais diferem ...

Minha maneira favorita de comparar arquivos é usar diff :

$ diff ~/record-space{,2}

update: Veja o comentário de Gille para esta resposta.

Em vez de du -hs /* , use du -xsh /tmp/* /var/*/* ~/.* .

    
por 13.11.2010 / 09:33
2

Algumas distribuições ou ambientes de área de trabalho podem mostrar um aviso se o espaço em disco disponível estiver abaixo de um determinado limite; aqui está como você pode fazer o seu próprio. Em um terminal, digite crontab -e (não como root); Isto irá aparecer um editor. Digite a seguinte linha:

*/5 * * * * if [ "$(df -P / | awk 'NR==2 {print $4}')" -le 1048576 ]; then df /; fi

Isso significa que a cada cinco minutos ( */5 * * * * ), se o espaço livre em disco ( "$(df -P / | …)" ) cair abaixo ( [ … -le … ] ) 1048576KB (1GB), envie um correio local com o espaço livre (o cron enviará você a saída de df / ).

Você pode notar que as colunas "usado" e "disponível" representam apenas 95% do total; isso é por causa do espaço reservado e não é responsável por seu problema ( o valor reservado não varia com o tempo).

Os locais mais prováveis onde algo pode estar ocupando seu espaço em disco são /tmp , /var e seu diretório pessoal (incluindo seus subdiretórios). I segundo as dicas de Stefan sobre a configuração de uma linha de base du saída e comparando com a saída quando o disco está cheio.

Se o espaço for liberado quando você inicializar, pode haver vários motivos. Algum programa presumivelmente está criando grandes arquivos temporários; talvez esses arquivos sejam limpos quando o programa terminar, talvez eles sejam limpos durante o processo de inicialização, talvez estejam limpos quando o programa for iniciado novamente. Um caso que você não poderá observar com du é se os arquivos grandes forem excluídos enquanto o programa os estiver usando. Quando você apaga um arquivo em um sistema unix, somente o nome do arquivo desaparece primeiro (o arquivo é “desvinculado”); o conteúdo do arquivo só desaparece quando não há mais referências ao arquivo: nem um nome nem um processo aberto. Em outras palavras, se um programa cria um arquivo grande, abre e exclui, o espaço só é recuperado quando o programa fecha o arquivo (o que acontece automaticamente quando o programa morre). Você não pode ver arquivos excluídos com du , mas você pode vê-los com lsof (“< strong> l i s t o caneta f iles "):

lsof | grep '(deleted)'

Na saída lsof, o penúltimo número antes do nome do arquivo (ou seja, a sétima coluna) é o tamanho do arquivo.

    
por 13.11.2010 / 13:10