Eu tenho meu disco principal completamente preenchido:
root@kodi:/# df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 385M 12M 374M 3% /run
/dev/sda1 88G 84G 0 100% /
tmpfs 1.9G 4.0K 1.9G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sdb1 917G 429G 442G 50% /media/Cloud
/dev/sdd1 917G 813G 58G 94% /media/Tera
cgmfs 100K 0 100K 0% /run/cgmanager/fs
tmpfs 385M 0 385M 0% /run/user/1000
root@kodi:/#
/ dev / sda1 é o meu disco principal em que o ubuntu está instalado:
root@kodi:/home/fmf# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=9fab4895-7ccb-4415-b26d-311a17036cda / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=7b158f58-e4c1-4717-aa5f-dbeaa79ab93c none swap sw 0 0
UUID=f9079f52-7661-48ad-9bc4-0d2452be66af /media/Tera ext2 defaults,nofail 0 0
UUID=fb1f92ee-54f5-44f8-ba92-544e90e6dfeb /media/Cloud ext2 defaults,nofail 0 0
root@kodi:/home/fmf#
Fiz alguma pesquisa no google e encontrei alguns comandos para testar quem é o responsável, mas não consigo descobrir quem o está preenchendo:
root@kodi:/# du --exclude=/media -cksh * | sort -hr | head -n 15
du: cannot access 'proc/16360/task/16360/fd/3': No such file or directory
du: cannot access 'proc/16360/task/16360/fdinfo/3': No such file or directory
du: cannot access 'proc/16360/fd/3': No such file or directory
du: cannot access 'proc/16360/fdinfo/3': No such file or directory
1.3T total
1.3T media
3.5G home
3.0G usr
1010M var
645M root
630M lib
99M boot
17M bin
15M sbin
13M etc
12M run
196K tmp
16K lost+found
12K srv
root@kodi:/#
Aparentemente, não há nenhum arquivo ou diretório tão grande para preencher os 84G do meu disco.
Alguns dias atrás, descobri que o disco estava cheio devido a erros .xsession que enlouqueceram. Descobri que este é um bug conhecido no ubuntu e resolvi criar uma linha de crontab que, a cada dez minutos, exclui os erros .xsession. De fato, no momento, não o tenho mais no meu diretório pessoal.
Alguma ajuda, por favor?
disk-usage
effemmeffe
fonte
fonte
sudo lsof | grep deleted
ele fornecerá dicas..xsession-errors
problema estiver errado, isso será destacado; caso contrário, ainda é muito provável que você aponte na direção certa.Respostas:
O problema com o cronjob é que
.xsession_errors
provavelmente ainda é aberto por alguns aplicativos ou serviços do sistema, e é por isso que ele será oculto da tabela do sistema de arquivos quando excluído, mas ainda está no disco e ainda serão gravados erros nela.Portanto, ele irá preencher o disco, mas agora você não pode mais vê-lo.
@rinzwind visa exatamente esse comportamento quando ele (corretamente) sugere remover o cronjob e procurar os erros. Essa é a única maneira de corrigir esse problema corretamente.
Como solução alternativa, você pode truncar o
.xsession_errors
arquivo com um cronjob como este:Mas antes de fazer isso, você REALMENTE deve tentar corrigir os problemas subjacentes que criam essas mensagens de erro no
.xsession_errors
fonte
root
seria descuidado e poderia criar outros problemas.truncate -c
não cria um arquivo e não altera a propriedade do arquivo existente. É bom não executá-lo como root, mas a propriedade do arquivo não é o motivo.desde que você faz isso ...
é impossível responder a essa pergunta.
Siga o seguinte para obter os erros que precisamos ver:
.xsessions_errors
..xsessions_errors
usandotail -f 100 ~/.xsessions_errors
..xsessions_errors
arquivo sempre deve ser evitado).fonte
Quando há grandes diferenças (digamos, mais do que alguns por cento) entre (como root)
df -g /some/partition_root
edu -gx /some/partition_root
(-x
diz ao du para se limitar à mesma partição, é útil verificar '/' por exemplo): provavelmente ainda existem arquivos aberto no qual alguns processos ainda estão gravando, mas que você excluiu no disco (portanto: o arquivo ainda existe enquanto for aberto pelos processos e preenche o espaço em disco (df -g vê isso), mas como não há Se links mais longos (ou nomes de arquivos) para seus inodes, du -gx sente falta deles.No seu caso, compare as saídas de:
Para descobrir quais são os arquivos com menos de 1 links (ou seja, arquivos excluídos, mas ainda abertos):
Verifique os nomes dos processos e os pids para ver quais são os processos que estão gravando nesses arquivos "fantasmas" e aja de acordo. outros podem exigir uma reinicialização adequada)
fonte