Como determinar o tamanho real no disco para uma pasta no Windows

0

Estou confuso sobre como o Windows calcula o valor Size on disk nas propriedades de uma pasta ou se está incorreto.

O tamanho do cluster na minha unidade é de 4096 byes.

Eu criei uma pasta chamada size-on-disk-test na qual eu tenho 64 subpastas diretas e 362.496 arquivos. Todo e qualquer arquivo é um arquivo de texto com 3 bytes de tamanho contendo apenas o texto: aaa .

Dado que cada arquivo deve, em teoria, usar um único cluster de 4096 bytes, então eu deveria esperar ver o tamanho do arquivo no disco para ler:

number-of-files * cluster-size362,496 * 4096 = 1,484,783,616 (1,4 GB).

Em vez disso, lê: 0 :

OSizeé,comoesperado,exatamente3bytesmultiplicadospelonúmerodearquivos.

Emseguida,anoteioespaçolivrenomeudiscononívelraizecopieiapasta(essanãoéumaunidadecomnenhumaatividadeouprogramainstalado,portanto,elanãodeveserafetadaporoutroarmazenamentoemcache,etc.nodiscoduranteoteste).

Deacordocomaverificaçãononíveldaraiz(ouseja,clicandoempropriedadesnaminhaunidadeemThisPC)depoisdeduplicarapasta,meuespaçolivrefoireduzidoem589.352.960bytes.

Então,oqueestáacontecendo?PorqueoWindowsestárelatando0bytesparaotamanhonodisco?Porquemeuscálculosestãototalmenteforadarealidade?

Alémdisso,ocomprimentodonomedoarquivoéimportante?Issonãodeveriaserlevadoemconsideraçãoemumcálculopreciso?Talvezocomprimentodonomedoarquivocoloqueumarquivode4095bytesemdoisclustersemumdiscodecluster4096?Ecertamenteaspastasocupamalgumespaçodealocaçãoemalgumlugar?

Issoéummontedeperguntasparauma"pergunta", mas espero que alguém possa me explicar como o espaço é ocupado, incluindo nomes de arquivos, pastas e clusters.

    
por Josh Comley 24.07.2017 / 22:52

2 respostas

2

O tamanho no valor do disco é, na melhor das hipóteses, apenas uma aproximação, sendo isso particularmente verdadeiro quando se lida com um sistema de arquivos complexo como o NTFS. Existem muitos fatores que tornam isso muito mais complicado do que aparentaria a princípio. Apenas alguns desses fatores:

  • Pontos de nova análise
  • Arquivos compactados
  • Links rígidos
  • Arquivos esparsos
  • Fluxos de dados alternativos
  • Sobrecarga de arquivos e pastas

Arquivos pequenos podem caber inteiramente na MFT e não terão clusters de dados alocados. Exatamente o tamanho depende de quanto espaço está disponível na entrada da MFT de arquivos. Isso depende do tamanho do nome do arquivo, do espaço necessário para informações de segurança e muito mais.

A melhor maneira de lidar com esses fatores depende de como você deseja usar as informações. Não há respostas claras sobre qual a melhor maneira de tomar decisões arbitrárias.

Considere o valor do disco on como apenas um guia. Em alguns casos, como com um grande número de arquivos muito pequenos, não é nem perto. A precisão real só seria possível se você pudesse especificar todos os parâmetros e até mesmo especialistas achassem isso irremediavelmente confuso.

Veja este artigo para mais informações: link

    
por 25.07.2017 / 07:48
1

And surely folders take up some allocation space somewhere?

Sim, obviamente, informações sobre todos os arquivos e pastas devem ser armazenadas em algum lugar. No NTFS, ele é armazenado principalmente na MFT . Esses são chamados de metadados e don conte no tamanho do arquivo . No entanto, no NTFS, arquivos muito pequenos também podem ser armazenados diretamente nas entradas da MFT e não ocupam espaço adicional. Esses são chamados arquivos residentes

Seus arquivos são apenas 3 bytes , então é quase certo que todos eles cabem na MFT , portanto o tamanho no disco será 0

Additionally, does the length of the file name matter? Shouldn't this be taken into account in an accurate calculation? Perhaps the file name length puts a 4095 byte file into two clusters on a 4096 cluster disk?

Na verdade, o tamanho do nome do arquivo pode ser importante, juntamente com qualquer outro metadado. Por exemplo, arquivos com vários fluxos, permissões complexas ou vários links físicos terão menos espaço para o conteúdo residente. O tamanho dos arquivos que podem ser armazenados na MFT varia dependendo de qual foi armazenado na entrada. Quanto mais dados forem usados para metadados na MFT, menor será o espaço para o arquivo.

Files smaller than approximately 900 bytes are stored within the directory entry at the MFT

link

The figure MFT Entry with Resident Record shows the contents of an MFT record for a small file or folder. Small files and folders (typically, 900 bytes or smaller) are entirely contained within the file’s MFT record.

link

No entanto, como dito acima, os arquivos são tão pequenos que o espaço consumido por nomes de arquivos, permissões ... são insignificantes, deixando espaço suficiente para arquivar todos os arquivos. Além disso, arquivos compactados e arquivos esparsos também terão tamanho em disco menor que tamanho, já que menos dados são realmente armazenados no disco

Leitura adicional

por 25.07.2017 / 09:15