Neden diskteki boyut tek bir dosya için bu kadar büyük?


3

Çok sayıda küçük dosyanız olduğunda, Windows tarafından bildirilen "diskteki boyutun" bildirilen "boyuttan" daha büyük olabileceğini açıklayan birkaç yazı okudum. Bu bana mantıklı geliyor, ama söyleyebileceğim kadarıyla, "küme büyüklüğü" veya "tahsisat birimi" tipik olarak 4 kB'dir (eğer doğru bir argümanı anlarsam), tek bir dosyanın 4 kB'den fazla olmaması gerektiği anlamına gelir. "diskteki boyut" metriğinde daha büyük.

"Boyut" olarak bildirilen 65 kB, ancak "diskteki boyut" olarak ölçüldüğünde 1,00 MB olduğu bildirilen bir görüntü var. Bu büyük tutarsızlığın nedeni ne olabilir?

Güncelleme: Dosyanın Linux çalıştıran bir NAS sürücüsünde olduğunu şimdi anlıyorum. Tahsisat biriminin boyutunu kontrol ettim ve bu sadece 1 MB değil, yalnızca 4 kB'dir:

bash-3.2# /sbin/blockdev --getbsz /dev/sda1

4096

Ayrıca "1BB" büyüklüğünde bir dosyayı da kontrol ettim ve "diskteki boyut" altında 1.00 MB olarak görünüyor.


2
blockdevdosya sistemini değil blok aygıtının blok boyutunu gösterir. Örneğin, ext2 ila ext4 varsa, dosya sistemi blok boyutunu aşağıdakileri kullanarak görebilirsiniz tune2fs -l /dev/sda1 | grep -i size:. ------ Linux'ta "diskteki boyut" u nasıl kontrol ettiniz? Kullanabilirsiniz: ls --block-size=1 -s filenameveya du --block-size=1 filename.
pabouk

WinXP ve Ubuntu arasında bazı testler yaptım ve Windows'un yanlış yaptığını kanıtladım. Benim durumumda, boyutu 4096 yerine 1024 baytın katına yuvarlıyordu, ancak farklı Windows ve Linux ağ sürücüleri gözleminizi kolayca gösterebiliyordu. Linux komutu du --block-size 1 ..., 4096'nın beklenen katını gösterdi, bu yüzden inanılması gereken komut buydu. Dosyayı bir Windows dizinine kopyalarsanız, büyük tutarsızlığı görmemelisiniz.
AFH

Yanıtlar:


-2

Disklerdeki veriler (dosyalar ikili veridir) kümelere kaydedilir. Sabit disk sürücüleri bu şekilde çalışır. Bu örnekte 4kb uzunluğunda kümeler bulunur. Daha küçük ayırma birimlerindeki diskleri biçimlendirme seçenekleri vardır.

Kaba olması için, kümeleri ikili verileri depolamaya hazır 4kb yuvalar olarak düşünün. Bir dosya 4 kb'den büyükse, fazladan yuvalar alır. Daha küçükse, tam olarak bir yuva alır.

Örneğin, 5kb olan bir dosya düşünün. Tek bir kümeye sığmayacağı için fazladan bir tane kullanılacaktır. Bu nedenle, dosya boyutu 5 kb olsa da, disk boyutu 8 kb olur.

Küçük bir dosya oluşturmayı deneyin (4kb'den az) ve disk boyutunun tam olarak 4kb olduğunu görün.


2
Hmmm ... cevabınız tam olarak başka bir yerde gördüklerime benziyor ve bana diskteki boyutun bir sonraki 4kB boyutuna yuvarlanması gerektiğini düşündürüyor (yani 65kB, örneğin 68kB olabilir). Beklediğim bu. Ama görüyorum ki oldukça farklı: 65kB 1 MB oluyor. Bunu ilk gönderdiğimde, sabit sürücümdeki bir dosyaya baktığımı sanıyordum, ancak şimdi dosyanın Linux çalıştıran bir NAS sürücüde bulunduğunu fark ettim ... bu bir ipucu olabilir mi?
Jed,

Ayrıca, dosya sisteminin dosya verilerini içeren küme haritasını içeren fazladan veriler kaydetmeyi gerektireceğini de göz önünde bulundurun. Ne yazık ki, bu verilerin bu kadar uzun olup olmadığını bilmiyorum.
ikromm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.