12Aug
Τις περισσότερες φορές, οι τιμές για το "Μέγεθος" και το "Μέγεθος στο δίσκο" θα είναι πολύ κοντά στην αντιστοίχιση κατά τον έλεγχο ενός μεγέθους φακέλου ή αρχείου, αλλά τι γίνεται αν υπάρχει τεράστια διαφορά μεταξύ των δύο;Η σημερινή θέση SuperUser Q & A εξετάζει την απάντηση σε αυτό το πρόβλημα που προκαλεί σύγχυση.
Η σημερινή ερώτηση &Η συνάντηση απαντήσεων έρχεται με την ευγένεια του SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα-καθοδηγούμενη ομαδοποίηση Q & A ιστοσελίδες.
Η ερώτηση
SuperUser reader thelastblack θέλει να μάθει γιατί υπάρχει τόσο μεγάλη διαφορά μεταξύ του μεγέθους και του μεγέθους στο δίσκο για ένα φάκελο στην κάρτα SD του τηλεφώνου:
Όπως βλέπετε παρακάτω, υπάρχει τόσο μεγάλη διαφορά μεταξύ του'Μέγεθος' και 'Μέγεθος σε δίσκο' για αυτό το φάκελο.Γιατί αυτό?
Γνωρίζω ότι το μέγεθος στο δίσκο πρέπει να είναι λίγο παραπάνω από το μέγεθος, λόγω των μονάδων κατανομής στα Windows, αλλά γιατί υπάρχει αυτή η μεγάλη διαφορά;Θα μπορούσε να είναι λόγω του μεγάλου αριθμού αρχείων;
BTW, αυτός ο φάκελος βρίσκεται στην κάρτα SD του Android του τηλεφώνου μου.Μέσα σε αυτό, η εφαρμογή χαρτών μου αποθηκεύει τους κρυφούς χάρτες της και η εφαρμογή λαμβάνει τους χάρτες της από τους Χάρτες Google.
Κοιτάζοντας το στιγμιότυπο οθόνης, υπάρχει σίγουρα μια τεράστια διαφορά μεταξύ του 'Μέγεθος' και του 'Μέγεθος στο δίσκο', έτσι τι συνέβη εδώ για να προκαλέσει αυτό;
Ο ανταποκριτής
SuperUser απάντησης Ο Bob έχει την απάντηση για εμάς:
Θα υποθέσω ότι χρησιμοποιείτε εδώ το σύστημα αρχείων FAT / FAT32, αφού αναφέρετε ότι πρόκειται για μια κάρτα SD.Το NTFS και το exFAT συμπεριφέρονται παρόμοια όσον αφορά τις μονάδες κατανομής.Άλλα συστήματα αρχείων ενδέχεται να είναι διαφορετικά, αλλά δεν υποστηρίζονται στα Windows ούτως ή άλλως.
Αν έχετε πολλά μικρά αρχεία, αυτό είναι σίγουρα δυνατό.Εξετάστε αυτό το θέμα:
- 50.000 αρχεία
- 32 KB μέγεθος συστοιχίας( μονάδες κατανομής), που είναι το μέγιστο για FAT32
Εντάξει, τώρα ο ελάχιστος χώρος που λαμβάνεται είναι 50.000 * 32.000 = 1.6 GB( χρησιμοποιώντας SI προθέματα, όχι δυαδικά,μαθηματικά).Ο χώρος που κάθε αρχείο παίρνει στο δίσκο είναι πάντα ένα πολλαπλάσιο του μεγέθους της μονάδας κατανομής - και εδώ υποθέτουμε ότι κάθε αρχείο είναι πραγματικά αρκετά μικρό για να χωρέσει σε μια ενιαία μονάδα, με κάποιο( σπαταλημένο) χώρο να παραμένει.
Εάν κάθε αρχείο έχει κατά μέσο όρο 2 KB, θα έχετε περίπου 100 MB συνολικά - αλλά χάνετε επίσης 15x ότι( 30 KB ανά αρχείο) κατά μέσο όρο λόγω του μεγέθους της μονάδας κατανομής.
Επεξήγηση βάθους
Γιατί συμβαίνει αυτό;Λοιπόν, το σύστημα αρχείων FAT32 πρέπει να παρακολουθεί το σημείο αποθήκευσης κάθε αρχείου.Αν ήταν να διατηρήσουμε μια λίστα με κάθε byte, ο πίνακας( όπως ένα βιβλίο διευθύνσεων) θα αυξανόταν με την ίδια ταχύτητα με τα δεδομένα - και θα σπαταλούσε πολύ χώρο.Επομένως, αυτό που κάνουν είναι να χρησιμοποιούν "μονάδες κατανομής", επίσης γνωστές ως "μέγεθος συμπλέγματος".Ο όγκος χωρίζεται σε αυτές τις μονάδες κατανομής και, όσον αφορά το σύστημα αρχείων, δεν μπορούν να υποδιαιρεθούν - αυτές είναι οι μικρότερες μπλοκ που μπορεί να αντιμετωπίσει.Όπως και να έχετε έναν αριθμό σπιτιού, ο ταχυδρομικός σας δεν ενδιαφέρεται για πόσα υπνοδωμάτια έχετε ή που ζει σε αυτά.
Τι συμβαίνει εάν έχετε ένα πολύ μικρό αρχείο;Λοιπόν, το σύστημα αρχείων δεν ενδιαφέρει αν το αρχείο είναι 0 KB, 2 KB ή ακόμα και 15 KB, θα του δώσει το λιγότερο χώρο - στο παραπάνω παράδειγμα, δηλαδή 32 KB.Το αρχείο σας χρησιμοποιεί μόνο ένα μικρό μέρος αυτού του χώρου και τα υπόλοιπα είναι ουσιαστικά σπατάλη, αλλά εξακολουθεί να ανήκει στο αρχείο - μοιάζει πολύ με ένα υπνοδωμάτιο που αφήνετε απασχολημένο.
Γιατί υπάρχουν διαφορετικά μεγέθη μονάδων κατανομής;Λοιπόν, γίνεται ανταλλαγή μεταξύ του να έχεις ένα μεγαλύτερο τραπέζι( π.χ. το βιβλίο διευθύνσεων, λέγοντας ότι ο Γιάννης κατέχει ένα σπίτι σε 123 Fake Street, 124 Fake Street, 666 Satan Lane κλπ.) Ή περισσότερο σπαταλημένος χώρος σε κάθε μονάδα( σπίτι).Εάν έχετε μεγαλύτερα αρχεία, είναι πιο λογικό να χρησιμοποιείτε μεγαλύτερες μονάδες κατανομής - επειδή ένα αρχείο δεν αποκτά νέα μονάδα( σπίτι) μέχρι να πληρωθούν όλα τα υπόλοιπα.Εάν έχετε πολλά μικρά αρχεία, καλά, πρόκειται να έχετε ένα μεγάλο τραπέζι( βιβλίο διευθύνσεων) ούτως ή άλλως, έτσι μπορεί επίσης να τους δώσει μικρές μονάδες( σπίτια).
Μεγάλες μονάδες κατανομής, κατά κανόνα, θα σπαταλούν πολύ χώρο αν έχετε πολλά μικρά αρχεία.Συνήθως δεν υπάρχει κανένας καλός λόγος να ξεπεράσετε τα 4 KB για γενική χρήση.Κατακερματισμός
;
Όσον αφορά τον κατακερματισμό, ο κατακερματισμός δεν πρέπει να σπαταλάει χώρο με αυτόν τον τρόπο.Τα μεγάλα αρχεία μπορεί να είναι κατακερματισμένα, δηλ. Χωρισμένα, σε πολλαπλές μονάδες κατανομής, αλλά κάθε μονάδα πρέπει να πληρωθεί πριν ξεκινήσει η επόμενη.Η ανασυγκρότηση μπορεί να εξοικονομήσει λίγο χώρο στους πίνακες κατανομής, αλλά αυτό δεν είναι το δικό σας ζήτημα.
Πιθανές λύσεις
Όπως πρότεινε ο gladiator2345, οι μοναδικές πραγματικές επιλογές σας σε αυτό το σημείο είναι να ζήσετε μαζί του ή να κάνετε αναδιαμόρφωση με μικρότερες μονάδες κατανομής.
Η κάρτα σας μπορεί να μορφοποιηθεί σε FAT16, η οποία έχει μικρότερο όριο στο μέγεθος του πίνακα και συνεπώς απαιτεί πολύ μεγαλύτερες μονάδες κατανομής για να αντιμετωπίσει μεγαλύτερο όγκο( με ανώτερο όριο 2 GB με 32 μονάδες κατανομής KB).Πηγή ευγένεια του Braiam.Αν συμβαίνει αυτό, θα πρέπει να είστε σε θέση να διαμορφώσετε με ασφάλεια ως FAT32 ούτως ή άλλως.
Έχετε κάτι να προσθέσετε στην εξήγηση;Απενεργοποιήστε τα σχόλια.Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους χρήστες τεχνολογίας Stack Exchange;Δείτε το πλήρες νήμα συζήτησης εδώ.