Eu tenho um servidor Solaris 10 que montou um sistema de arquivos remoto via NFS. Acredito que o sistema remoto seja um NetApp, mas não está claro.
Quando corro df -h <mountpoint>
fico com o tamanho 12T, usei 10T com capacidade de 87%.
Quando mudo para o ponto de montagem e executo, ls -A |xargs du -s
recebo cerca de 8 megabytes. Eu esperava que du descesse recursivamente e somasse todos os tamanhos de arquivo, mas parece que isso não acontece aqui.
Como uma cerca viva, eu corri
find <mountpoint> -ls | awk '{total=total+$7}END{print total}'
a resposta é 13006791645. Quando dividido por 1024 ^ 3 (1073741824), obtenho cerca de 12,1 terabytes.
Então parece que find -ls
e df
estamos mais ou menos de acordo. Por que você falharia tão gravemente?
PS: o comando ls -A
também captura os diretórios ocultos de instantâneos, mas find não encontra nada (exceto "ciclo detectado").
Responder1
du -s
relatórios em blocos de 512 bytes. Sua comparação com df -h
não pode ser feita, pois du
não relata dados legíveis por humanos.
Para comparar os dois valores, use du -sh <mountpoint>
ou /usr/xpg4/bin/df -P
para permitir df
também o relatório em unidades de 512 bytes.
De acordo com man du
:
Arquivos com vários links serão contados e gravados para apenas uma entrada. A entrada de diretório selecionada no relatório não é especificada. Por padrão, os tamanhos dos arquivos são gravados em unidades de 512 bytes, arredondados para a próxima unidade de 512 bytes.
Tente /usr/xpg4/bin/df -P
obter 512 bytes relatados por df
:
bash-3.2$ /usr/xpg4/bin/df -P /var
Filesystem 512-blocks Used Available Capacity Mounted on
rpool/ROOT/s10/var
1147797504 66061270 954397119 7% /var
E compare com du -s
:
bash-3.2$ du -s /var
65976060 /var
Ou compare:
bash-3.2$ df -h /var
Filesystem size used avail capacity Mounted on
rpool/ROOT/s10x_u11wos_24a/var
547G 32G 455G 7% /var
com:
bash-3.2$ du -hs /var
31G /var