Estou executando o Linux Mint 14 Nadia. A partição Linux possui 10G. Quando o sistema inicia, du
relata 80% de uso. Em seguida, o uso aumenta lentamente até atingir 100% e o sistema se torna inutilizável. (Isso pode acontecer na ordem de dias ou semanas). Após a reinicialização, o uso é redefinido para 80%.
O mais estranho de tudo é que du
não mostra mudanças.
Aqui está a saída desses comandos (Windows e partições de unidades externas são elididas):
# --- Just after reboot ---
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.8G 7.3G 2.0G 80% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 428M 292K 428M 1% /dev
tmpfs 88M 1.3M 87M 2% /run
none 5.0M 0 5.0M 0% /run/lock
none 437M 288K 437M 1% /run/shm
none 100M 12K 100M 1% /run/user
$ sudo du -x -d1 -h /
186M /opt
512M /var
11M /sbin
556K /root
1.3G /home
613M /lib
8.0K /media
4.6G /usr
16K /lost+found
111M /boot
39M /etc
4.0K /mnt
60K /tmp
9.1M /bin
4.0K /srv
7.3G / # <-- note this
# --- After some time ---
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.8G 9.1G 199M 98% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 428M 292K 428M 1% /dev
tmpfs 88M 1.3M 87M 2% /run
none 5.0M 0 5.0M 0% /run/lock
none 437M 27M 411M 7% /run/shm
none 100M 28K 100M 1% /run/user
$ sudo du -x -d1 -h /
186M /opt
511M /var
11M /sbin
556K /root
1.4G /home
613M /lib
8.0K /media
4.6G /usr
16K /lost+found
111M /boot
39M /etc
4.0K /mnt
520K /tmp
9.1M /bin
4.0K /srv
7.3G / # <-- note this
(Nota: eu uso a hibernação. Após a hibernação, o uso permanece o mesmo e, após a reinicialização, redefine para 80%.)
Como acompanho o que consome o espaço?
Eu li esta pergunta . Eu ainda estou no escuro. Como descubro qual programa é responsável por esse comportamento?
Após a edição : encontrou. O espaço é reivindicado pelo log do kernel, que é visto por dmesg
. É preenchido porque minha máquina gera erros na taxa de 5 por segundo. (Está relacionado a esse bug .) Deixe os futuros leitores com um problema semelhante - preenchendo lentamente o espaço em disco invisível du
- não se esqueça de tentar dmesg
procurar a causa.
fonte
ncdu
simplesdu
para encontrar diretórios de arquivos grandes. Ele verifica toda a árvore de diretórios antes de permitir que você faça qualquer coisa; você pode passar um caminho específico (por exemplo,ncdu /var
ou apenasncdu ~
)Respostas:
Execução repetida de
(na árvore de diretórios) deve informar onde o espaço é consumido. Isso provavelmente explica, sem mais investigações, qual aplicativo está causando isso.
arquivos invisíveis
Se
du
não mostrar esses arquivos, uma das possibilidades será excluída. Um arquivo (ou melhor: seu nome, ou seja, sua entrada em um diretório) pode ser excluído enquanto o arquivo ainda estiver em uso. Contanto que exista um descritor de arquivo válido apontando para esse arquivo, ele cobre espaço no volume (se não for um arquivo vazio ...).Você pode encontrar esses arquivos com
find
:Pode ser um único arquivo enorme ou vários arquivos menores que causam o seu problema. Existem cerca de 30 desses arquivos no meu sistema agora (pertencentes a apenas cinco processos).
ls -l
mostra o tamanho desses arquivos, mas parece não ser possível obter esse valorfind
.Depois de finalizar o processo, o espaço fica disponível
df
novamente para o sistema de arquivos ( ).fonte
du
relata nenhuma mudança no espaço consumido: 7.3G no início e 7.3G após o tempo passar.df
relata 7.3G livre no início e até 10G com o passar do tempo. Não consigo encontrar o problema comdu
.Use algo como
para ver quais processos estão mantendo os arquivos excluídos abertos. Os campos importantes são o segundo (PID) e o oitavo (terceiro da última; o tamanho do arquivo).
(Preste atenção às linhas duplicadas, não as conte duas vezes. Verifique o PID e o caminho do arquivo (último campo) ou número do inode (segundo ao último campo).)
Depois disso, se você encontrar um processo que provavelmente é o culpado, podemos ver como corrigi-lo.
fonte
sudo lsof -s | grep deleted | sort -hk7
obter uma classificação numérica. Sem -h, o tipo faz coisas lexicais engraçadas com números.Use isso para encontrar recursivamente o que está preenchendo mais de 10 MB ou mais
/
(raiz) e exibi-lo com muitos detalhes comls -l
inxargs
. Se você escrever 1000000 (2 zeros extras), poderá obter 1 GB + por exemplo.Você também pode usar du e apenas cavar manualmente.
fonte
Sempre que isso acontece, sempre começo meu foco em determinados subdiretórios. A estrutura FHS que a maioria das distribuições Linux adere é apresentada com isso em mente.
Primeiro
/var
, entre , seguido por/home
.Você pode restringir seu foco a subdiretórios em qualquer um desses locais também. Uma vez que você tenha acabado de procurar lá, eu geralmente passo para
/root
e, finalmente, os subdiretórios restantes em/
.Se for uma distribuição baseada no Red Hat, o cache
yum
usado para executar atualizações pode estar consumindo uma grande quantidade de espaço. Você pode usar este comando para limpá-lo:Outras distros que usam
apt
podem fazer algo semelhanteapt-get clean
,.Eu também executaria esse comando na parte superior do
/
diretório, pois esse local às vezes pode se tornar a fonte de arquivos de log perdidos.Preste atenção especial aos arquivos de ponto! Coisas nomeadas
.blah
, por exemplo.fonte
timeshift
estava comendo meu disco.Recuperado 50Gb.
fonte
Eu tenho quase a mesma situação.
No meu caso, o motivo foi o VMware. Um dos outros VMwares na mesma máquina, consumiu os espaços em disco. É por isso que meu uso de espaço em disco foi de 100%.
Depois de excluir arquivos grandes do VMware do vizinho, ele está funcionando corretamente.
fonte