Pode ser que algum processo ainda tenha arquivos excluídos abertos. Se esse for o caso, eles não aparecerão na saída du
, mas ainda serão contados na saída df
.
Uma maneira rápida de verificar isso é listar /proc
como usuário root
(hint sudo su
deve obter um shell raiz). Qualquer arquivo aberto, mas excluído, terá (deleted)
no final do nome do destino do link simbólico.
ls -l /proc/*/fd/* | grep deleted | grep /home
deve fornecer uma lista de todos os arquivos abertos. Depois disso, um ls -lL
do arquivo específico deve fornecer o tamanho do arquivo.
Como exemplo (usando /tmp
no meu sistema porque não há exemplos em /home
aqui), vejo alguns arquivos pertencentes ao usuário mysql
.
richm@viking:/$ sudo su
root@viking:/# ls -l /proc/*/fd/* | grep deleted | grep /tmp
lrwx------ 1 root root 64 Oct 13 06:30 /proc/1489/fd/11 -> /tmp/ibwmCqpg (deleted)
lrwx------ 1 root root 64 Oct 13 06:30 /proc/1491/fd/12 -> /tmp/ib9MTMQi (deleted)
root@viking:/# ls -lL /proc/1489/fd/11
-rw------- 0 mysql2 mysql2 0 Aug 24 14:09 /proc/1489/fd/11
root@viking:/# ls -lL /proc/1491/fd/12
-rw------- 0 mysql mysql 1320 Oct 15 13:40 /proc/1491/fd/12
Se você tiver algum processo com grandes arquivos excluídos abertos, interromper o processo deve ser suficiente para recuperar o espaço em disco. Alternativamente, uma reinicialização deve fazer o mesmo.