Eu sei que o tamanho de um diretório em si é uma coisa diferente do tamanho dos arquivos nele.
Penso em um diretório como uma lista dos diretórios e arquivos dentro, portanto, o tamanho de um diretório deve estar relacionado ao número de arquivos / diretórios dentro, com um mínimo de 4096 bytes devido à restrição de tamanho de bloco.
Mas, no meu sistema, tenho muitos diretórios bem preenchidos com 4096 bytes e alguns diretórios consideravelmente menos preenchidos, com cerca de 10 megabytes. Você pode me explicar por que isso acontece?
Respostas:
O sistema de arquivos usado e o número máximo de entidades nesse diretório a qualquer momento determinam o tamanho. Depois que o tamanho padrão reservado para o diretório estiver esgotado, mais espaço será alocado para o diretório. No entanto, quando o número de entidades diminui, o espaço alocado não é liberado automaticamente. Portanto, se, a certa altura, um diretório tiver 10 milhões de entidades, ele permanecerá do mesmo tamanho se 9.999.999 deles forem excluídos. Isso leva a situações interessantes, como neste post sobre Unix e Linux .
Isso não é necessariamente válido para outros sistemas de arquivos. Os
ext{2,3,4}
sistemas de arquivos são afetados. NTFS é, em menor grau.tmpfs
e btrfs não são. O ZFS é bastante conservador, obtive uma saída2
para o segundostat
comando.Palavras-chave:
fonte