12Aug

Mengapa Ada Perbedaan Besar Antara 'Ukuran' dan 'Ukuran Disk'?

Sebagian besar waktu, nilai untuk 'Ukuran' dan 'Ukuran pada disk' akan sangat dekat dengan pencocokan saat memeriksa ukuran folder atau file, tapi bagaimana jika ada perbedaan besar antara keduanya? Today's SuperUser Q & Sebuah posting melihat jawaban atas masalah yang membingungkan ini.

Pertanyaan Hari Ini &Sesi jawaban datang kepada kami atas izin SuperUser - subdivisi dari Stack Exchange, pengelompokan berbasis komunitas dari Q & A situs web.

Pertanyaan

Pembaca superuser pembaca terdepan ingin tahu mengapa ada perbedaan besar antara 'Ukuran' dan 'Ukuran pada disk' untuk sebuah folder di kartu SD miliknya:

Seperti yang dapat Anda lihat di bawah, ada banyak perbedaan antaraBidang 'Ukuran' dan 'Ukuran pada disk' untuk folder ini. Mengapa demikian?

Saya tahu bahwa 'Ukuran pada disk' harus sedikit lebih dari 'Ukuran' karena unit alokasi di Windows, namun mengapa ada banyak perbedaan? Mungkinkah karena banyaknya file?

BTW, folder ini ada di kartu SD ponsel Android saya. Di dalamnya, aplikasi peta saya menyimpan peta yang di-cache, dan aplikasinya mendapatkan peta dari Google Maps.

Melihat tangkapan layar, pasti ada perbedaan besar antara 'Ukuran' dan 'Ukuran pada disk', jadi apa yang telah terjadi di sini menyebabkan ini?

Jawaban

SuperUser kontributor Bob memiliki jawaban untuk kita:

Saya akan berasumsi bahwa Anda menggunakan sistem file FAT / FAT32 di sini, karena Anda menyebutkan ini adalah kartu SD.NTFS dan exFAT berperilaku sama dengan unit alokasi. Sistem file lain mungkin berbeda, namun tidak didukung pada Windows.

Jika Anda memiliki banyak file kecil, ini tentu mungkin. Pertimbangkan ini:

  • 50.000 file
  • Ukuran cluster 32 KB( unit alokasi), yang merupakan maks untuk FAT32

Ok, sekarang ruang minimum yang diambil adalah 50.000 * 32.000 = 1,6 GB( menggunakan awalan SI, bukan biner, untuk menyederhanakanmatematika).Ruang yang dibutuhkan setiap file pada disk selalu merupakan kelipatan dari ukuran unit alokasi - dan di sini kita mengasumsikan setiap file sebenarnya cukup kecil untuk muat dalam satu unit, dengan beberapa( terbuang) ruang tersisa.

Jika masing-masing file berukuran rata-rata 2 KB, Anda akan mendapatkan total sekitar 100 MB - namun Anda juga membuang-buang 15x( rata-rata 30 KB per file) rata-rata karena ukuran unit alokasi. Penjelasan Dalam Kedalaman

Mengapa ini terjadi? Nah, sistem file FAT32 perlu melacak dimana setiap file disimpan. Jika menyimpan daftar setiap byte tunggal, tabel( seperti buku alamat) akan tumbuh dengan kecepatan yang sama dengan data - dan menghabiskan banyak ruang. Jadi apa yang mereka lakukan adalah menggunakan "unit alokasi", yang juga dikenal sebagai "ukuran cluster".Volume dibagi ke dalam unit alokasi ini, dan sejauh menyangkut sistem file, mereka tidak dapat dibagi lagi - yaitu blok terkecil yang dapat dialaminya. Sama seperti Anda memiliki nomor rumah, tapi tukang pos Anda tidak peduli berapa banyak kamar tidur yang Anda miliki atau siapa yang tinggal di dalamnya.

Jadi apa yang terjadi jika Anda memiliki file yang sangat kecil? Nah, sistem file tidak peduli apakah file tersebut 0 KB, 2 KB, atau bahkan 15 KB, maka akan memberikan ruang paling sedikit yang bisa - pada contoh di atas, yaitu 32 KB.File Anda hanya menggunakan sejumlah kecil ruang ini, dan sisanya pada dasarnya terbuang sia-sia, namun tetap milik file - seperti kamar tidur yang tidak Anda tinggalkan.

Mengapa ukuran unit alokasi berbeda? Nah, ini menjadi trade-off antara memiliki meja yang lebih besar( buku alamat, misalnya mengatakan bahwa John memiliki sebuah rumah di 123 Fake Street, 124 Fake Street, 666 Satan Lane, dll.), Atau lebih banyak ruang terbuang di setiap unit( rumah).Jika Anda memiliki file yang lebih besar, lebih masuk akal untuk menggunakan unit alokasi yang lebih besar - karena file tidak mendapatkan unit baru( rumah) sampai semua yang lain terisi. Jika Anda memiliki banyak file kecil, Anda pasti akan punya meja besar( buku alamat), jadi mungkin juga memberi mereka unit kecil( rumah).

Unit alokasi besar, sebagai aturan umum, akan menghabiskan banyak ruang jika Anda memiliki banyak file kecil. Biasanya tidak ada alasan bagus untuk pergi di atas 4 KB untuk penggunaan umum. Fragmentasi

?

Sedangkan untuk fragmentasi, fragmentasi seharusnya tidak membuang-buang ruang dengan cara ini. File besar mungkin terfragmentasi, yaitu berpisah, ke beberapa unit alokasi, namun setiap unit harus diisi sebelum yang berikutnya dimulai. Defragging mungkin menghemat sedikit ruang di tabel alokasi, tapi ini bukan masalah spesifik Anda. Solusi

SEBAGAI gladiator2345 menyarankan, satu-satunya pilihan nyata Anda pada saat ini adalah hidup dengan itu atau diformat ulang dengan unit alokasi yang lebih kecil. Kartu Anda mungkin diformat dalam FAT16, yang memiliki batas ukuran tabel yang lebih kecil dan oleh karena itu memerlukan unit alokasi yang jauh lebih besar untuk menangani volume yang lebih besar( dengan batas atas 2 GB dengan unit alokasi 32 KB).Sumber milik Braiam. Jika demikian, Anda seharusnya bisa memformat FAT32 secara aman.

Punya sesuatu untuk ditambahkan ke penjelasan? Terdengar dalam komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange tech-savvy lainnya? Simak thread diskusi selengkapnya disini.