
SO: RHEL 6.9
Problema
Meu sistema de arquivos /dev/mapper/vg_rayruhsso-lv_root
montado /
não tem tamanho disponível.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_rayruhsso-lv_root
148G 145G 0 100% /
tmpfs 20G 0 20G 0% /dev/shm
/dev/sda1 477M 41M 411M 9% /boot
/dev/mapper/vg_rayruhsso-lv_home
270G 54G 202G 22% /home
O que eu quero resolver
Descobrir o que consumiu todo o espaço (não quero ampliar o tamanho, pois foi ampliado na semana passada de 52G para 148G). O problema é que, enquanto rastreava, descobri que/raizestá consumindo muito espaço (128G).
# du -sh *
984K
9.3M bin
39M boot
4.0K CdbsMutex
4.0K cgroup
180K dev
41M etc
54G home
215M lib
28M lib64
16K lost+found
4.0K media
0 misc
4.0K mnt
0 net
70M opt
du: cannot access `proc/4754/task/4754/fd/4': No such file or directory
du: cannot access `proc/4754/task/4754/fdinfo/4': No such file or directory
du: cannot access `proc/4754/fd/4': No such file or directory
du: cannot access `proc/4754/fdinfo/4': No such file or directory
0 proc
128G root
17M sbin
0 selinux
4.0K srv
0 sys
5.5M tmp
12G u01
3.2G usr
2.0G var
Eu verifiquei seus subdiretórios e descobri que o maior arquivo/diretório é 330M, embora du -sh
exiba 128G.
#du -sh /root/*
4.0K /root/anaconda-ks.cfg
4.0K /root/Desktop
4.0K /root/Documents
4.0K /root/Downloads
64K /root/install.log
12K /root/install.log.syslog
4.0K /root/Music
4.0K /root/Pictures
4.0K /root/Public
4.0K /root/Templates
330M /root/veritas
4.0K /root/Videos
# cd /root/
# du -sh
128G
O que está errado? Como investigar qual arquivo está consumindo todo esse espaço?
Tentei descobrir os arquivos abertos, mas não retornei nenhuma saída:
lsof | grep deleted
Qualquer ideia?
Editar:
# du -h --max-depth=1 /root | sort -h
4.0K /root/Desktop
4.0K /root/Documents
4.0K /root/Downloads
4.0K /root/.gvfs
4.0K /root/Music
4.0K /root/.nautilus
4.0K /root/Pictures
4.0K /root/Public
4.0K /root/Templates
4.0K /root/Videos
8.0K /root/.abrt
8.0K /root/.ssh
12K /root/.dbus
16K /root/.gnote
16K /root/.gnupg
16K /root/.thumbnails
20K /root/.cache
28K /root/.gnome2
64K /root/.config
144K /root/.pulse
276K /root/.gconf
364K /root/.local
396K /root/.kde
330M /root/veritas
128G /root
Responder1
Depois de um pouco de idas e vindas e uma discussão privada...
Use du -h --max-depth=1 /root | sort -h
para pesquisar coisas que consomem espaço.
No momento você está ignorando os arquivos e diretórios de pontos, devido à expansão glob do du -sh /root/*
.
Agora, com os resultados incluindo os arquivos e pastas de pontos da edição, parece que os arquivos que consomem o espaço estão diretamente no formato /root
.
Para obter uma visão geral de quais arquivos ocupam mais espaço, /root
use o comando a seguir.
ls -alhSr /root
Responder2
É possível que você tenha emitido um comando de exclusão e ele nunca tenha terminado porque os arquivos que você estava tentando excluir estavam em uso por algum aplicativo?
Tente executar:
/usr/bin/lsof | grep deleted
O comando acima exibirá todos os arquivos que estão aguardando para serem excluídos e sendo usados por um processo.
Se esses arquivos existirem, elimine o processo e verifique a capacidade novamente.
Explicação:
Em sistemas Linux ou Unix, excluir um arquivo via rm ou por meio de um aplicativo gerenciador de arquivos desvinculará o arquivo da estrutura de diretórios do sistema de arquivos; entretanto, se o arquivo ainda estiver aberto (em uso por um processo em execução), ele ainda estará acessível a esse processo e continuará ocupando espaço no disco. Portanto, tais processos podem precisar ser reiniciados antes que o espaço do arquivo seja liberado no sistema de arquivos.
Mais informações sobre este assunto podem ser encontradasaqui.
Responder3
Você também pode dar uma olhada em ncdu
. É muito parecido com o treesize e me ajudou muitas vezes a localizar arquivos grandes e estruturas de diretórios.