Isso parece completamente ao contrário. (O tamanho do bloco neste compartilhamento NFS é de 512 KB, causando 20% de desperdício, mas esse é um problema diferente.)
$ df -BM --output=used,target /Database/backups
Used Mounted on
3842164M /Database/backups
$ du -cd0 -BM --apparent-size /Database/backups
3841946M /Database/backups
3841946M total
$ du -cd0 -BM /Database/backups
4631230M /Database/backups
4631230M total
A página de manual à
du
direita na breve descrição diz que estima o uso do espaço no arquivo. Existem muitos recursos do sistema de arquivos que podem tornar sua saída imprecisa.Para arquivos esparsos, o tamanho do bloco seria sempre menor que o tamanho aparente e o tamanho aparente superestimaria grosseiramente o tamanho do armazenamento.
Para quase todos os outros casos, o tamanho aparente não levaria em consideração a granularidade do armazenamento de arquivos e blocos de metadados e, portanto, subestimaria o tamanho do armazenamento de um arquivo.
As únicas coisas que consigo pensar que fariam você superestimar o número de blocos seriam específicas do sistema de arquivos de armazenamento subjacente e incluiriam:
Ambos fariam com que du superestimasse o número de blocos utilizados, mas apenas o primeiro também não aumentaria o tamanho aparente.
Portanto, para que o tamanho aparente du esteja mais próximo do que o tamanho do bloco du da saída df, talvez o sistema de arquivos subjacente esteja empacotando blocos, tornando a contagem de blocos inútil para estimativas de tamanho. Saber qual sistema de arquivos (
df -T
no servidor) ajudaria a determinar se isso é provável.A outra possibilidade seria se du estivesse baseando sua estimativa de bloco em blocos maiores (por exemplo, 8k) do que o que está realmente sendo usado (por exemplo, 512b), mas isso parece improvável, pois seria algo que o sistema de arquivos poderia relatar corretamente.