linux df e OSError: [Errno 28] Não há espaço restante no dispositivo

linux df e OSError: [Errno 28] Não há espaço restante no dispositivo

Eu tenho uma inconsistência estranha (embora provavelmente esteja faltando algo bastante básico). Ao executar algum script que gera pequenos arquivos no meu disco, recebo constantemente este erro:

OSError: [Errno 28] No space left on device

Mas quando executo df -h, recebo:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              15G   12G  2.2G  85% /
udev                  502M  144K  502M   1% /dev
none                  502M     0  502M   0% /dev/shm
none                  502M   72K  502M   1% /var/run
none                  502M     0  502M   0% /var/lock
none                  502M     0  502M   0% /lib/init/rw

Então estou com pouco espaço em disco ou não?

Obrigado por qualquer contribuição!

Responder1

Você provavelmente está sem inodes. Tentar df -i.

Responder2

Isto pode ter várias causas:

  • um processo está gravando um arquivo grande, portanto as estatísticas de uso do disco não são atualizadas até que o arquivo seja fechado. Neste caso você deve verificar o espaço total utilizado executando

sudo du -k /seu/caminho

  • há um ou mais arquivos excluídos que ainda estão em uso por algum processo, portanto o utilitário df não os leva em consideração ao calcular o uso total do disco; você pode encontrar esses arquivos executando

sudo lsof / | grep excluído

  • o sistema de arquivos ficou sem inodes, o que você pode verificar executando

sudo df -i /seu/caminho

informação relacionada