Por que os resultados du e quota não coincidem?

8

Eu excedi minha cota de disco em um sistema ao qual não tenho acesso root. Tentei remover arquivos antigos, mas ainda terminei. Tentei correr dupara descobrir onde estou usando todo o meu espaço, mas ele informa que estou usando muito pouco.

Resultados de quota

   /home/1234$ quota -s
   Disk quotas for user 1234 (uid 1234): 
        Filesystem   space   quota   limit   grace   files   quota   limit   grace
       cslab:/home   4519M*  4096M   5120M   09:47    6155       0       0 

De du

   /home/1234$ du -mad 1
   ...
   936     total

Não entendo por que quotadiz que estou usando du4,5 GB enquanto conta apenas com 0,9 GB. Também verifiquei os arquivos que possuo /tmpe havia 50 MB de arquivos lá. Onde poderiam estar os outros 3,5 GB de arquivos? É possível que o sistema de cotas esteja errado e precise ser redefinido?

Brandon Clements
fonte
Verifique se Por que existem tantas maneiras diferentes de medir o uso do disco? ajuda. Isso é sobre NFS? Pode haver algum cache.
Gilles 'SO- stop be evil'

Respostas:

2

Eu acredito que pode haver alguns arquivos ainda mantidos abertos por alguns processos. Você pode tentar listá-los usando,

lsof | grep username | grep deleted

Uma versão mais melhor seria usar,

lsof +L1 | grep username

No entanto, às vezes pode haver discrepância na saída entre due quotaque é explicado nesta ligação . Trecho do link,

No Unix, os comandos du e quota podem relatar valores diferentes. O motivo dessa discrepância é que o processo que passa pelo sistema de arquivos, verifica cotas e atualiza as tabelas de uso é executado apenas em horários específicos. Portanto, haverá períodos entre as verificações de cota em que o comando quota -v reportará o uso incorreto do disco. Use o comando du para obter informações mais precisas sobre o tamanho dos seus arquivos.

Ramesh
fonte
Eu tentei isso, mas não há arquivos excluídos abertos.
Brandon Clements
@BrandonClements, este link é útil?
Ramesh
O link foi útil, não considerei que a cota fosse atualizada apenas periodicamente. Vou ter que esperar e ver se isso realmente é problema meu, mas acho que é. Você poderia, por favor, mover o link e uma breve descrição para sua resposta.
Brandon Clements
@BrandonClements, atualizado. Entre em contato se precisar de mais informações!
Ramesh
Parece que se consertou da noite para o dia. Para outras pessoas que leem esta resposta, eu observaria que a exclusão de arquivos pequenos parecia ter um efeito imediato na minha cota, portanto, não tinha certeza se esse era o caso. Parece ser verdade.
precisa saber é o seguinte
2

quota funciona consultando o sistema de arquivos quanto aos blocos realmente ocupados por seus arquivos.

du funciona varrendo diretórios recursivamente em busca de seus arquivos.

Os dois métodos podem produzir resultados diferentes. Por exemplo, quando você "exclui" um arquivo, ele não fica mais visível ao listar o diretório. No entanto, os blocos no disco não são realmente liberados até que o último manipulador de arquivo nele seja fechado. Nesse caso, o arquivo é invisível du, mas ainda conta na sua cota.

200_success
fonte