Startseite » wie man » Warum gibt es einen großen Unterschied zwischen Größe und Größe auf der Festplatte?

    Warum gibt es einen großen Unterschied zwischen Größe und Größe auf der Festplatte?

    In den meisten Fällen werden die Werte für 'Größe' und 'Größe auf der Festplatte' bei der Überprüfung der Größe eines Ordners oder einer Datei nahezu übereinstimmen. Was ist jedoch, wenn zwischen den beiden eine große Diskrepanz besteht? Der heutige Q & A-Beitrag von SuperUser beschäftigt sich mit der Antwort auf dieses verwirrende Problem.

    Die heutige Question & Answer-Sitzung wird dank SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-basierten Gruppierung von Q & A-Websites.

    Die Frage

    Der SuperBenutzer-Leser, der gerade auf den Bildschirm zugreifen möchte, möchte wissen, warum bei einem Ordner auf der SD-Karte seines Handys so große Unterschiede zwischen 'Größe' und 'Größe auf Festplatte' bestehen:

    Wie Sie unten sehen können, gibt es so große Unterschiede zwischen den Feldern 'Größe' und 'Größe auf Festplatte' für diesen Ordner. Warum das?

    Ich weiß, dass 'Size on disk' aufgrund von Zuordnungseinheiten in Windows etwas mehr sein sollte als 'Size', aber warum gibt es so große Unterschiede? Könnte es an der großen Anzahl von Dateien liegen?

    Übrigens, dieser Ordner befindet sich auf der SD-Karte meines Android-Telefons. In dieser speichert meine Karten-App ihre zwischengespeicherten Karten, und die App erhält ihre Karten von Google Maps.

    Wenn Sie sich den Screenshot ansehen, gibt es definitiv eine große Diskrepanz zwischen 'Größe' und 'Größe auf der Festplatte', also was ist hier passiert, um dies zu verursachen?

    Die Antwort

    SuperUser-Mitwirkender Bob hat die Antwort für uns:

    Ich gehe davon aus, dass Sie hier das FAT / FAT32-Dateisystem verwenden, da Sie erwähnen, dass dies eine SD-Karte ist. NTFS und exFAT verhalten sich in Bezug auf Zuordnungseinheiten ähnlich. Andere Dateisysteme unterscheiden sich möglicherweise, werden jedoch unter Windows sowieso nicht unterstützt.

    Wenn Sie viele kleine Dateien haben, ist dies sicherlich möglich. Bedenken Sie:

    • 50.000 Dateien
    • 32 KB Clustergröße (Zuordnungseinheiten); dies ist die maximale Anzahl für FAT32

    Ok, jetzt das Minimum Speicherplatz ist 50.000 * 32.000 = 1,6 GB (unter Verwendung von SI-Präfixen, nicht binär, um die Berechnungen zu vereinfachen). Der Speicherplatz, den jede Datei auf der Festplatte einnimmt, ist immer ein Vielfaches der Größe der Zuordnungseinheit. Hier wird davon ausgegangen, dass jede Datei tatsächlich klein genug ist, um in eine einzige Einheit zu passen, wobei ein wenig (verschwendeter) Speicherplatz übrig bleibt.

    Wenn jede Datei im Durchschnitt 2 KB groß wäre, würden Sie insgesamt etwa 100 MB groß sein. Sie vergeuden jedoch aufgrund der Größe der Zuordnungseinheit im Durchschnitt auch das 15fache (30 KB pro Datei).

    Ausführliche Erklärung

    Warum passiert das? Nun, das FAT32-Dateisystem muss nachverfolgen, wo die einzelnen Dateien gespeichert sind. Wenn eine Liste von jedem einzelnen Byte geführt würde, würde die Tabelle (wie ein Adressbuch) mit der gleichen Geschwindigkeit wie die Daten wachsen - und viel Platz verschwenden. Sie verwenden also "Zuordnungseinheiten", auch "Clustergröße" genannt. Der Datenträger ist in diese Zuordnungseinheiten unterteilt, und das Dateisystem kann nicht unterteilt werden. Dies sind die kleinsten Blöcke, die angesprochen werden können. So wie Sie eine Hausnummer haben, aber Ihr Postbote kümmert sich nicht darum, wie viele Schlafzimmer Sie haben oder wer in ihnen wohnt.

    Was passiert also, wenn Sie eine sehr kleine Datei haben? Nun, das Dateisystem kümmert sich nicht darum, ob die Datei 0 KB, 2 KB oder sogar 15 KB ist. Dadurch wird der Speicherplatz so klein wie möglich sein - im obigen Beispiel sind das 32 KB. Ihre Datei belegt nur einen kleinen Teil dieses Speicherplatzes, und der Rest ist im Grunde vergeudet, gehört aber immer noch zur Datei - ähnlich wie in einem Schlafzimmer, das Sie unbesetzt lassen.

    Warum gibt es unterschiedliche Zuordnungseinheiten? Nun, es ist ein Kompromiss zwischen einem größeren Tisch (Adressbuch, z. B. wenn John ein Haus in der 123 Fake Street, der 124 Fake Street, der 666 Satan Lane usw. besitzt) oder mehr Platz in jeder Einheit (Haus). . Wenn Sie größere Dateien haben, ist es sinnvoller, größere Zuordnungseinheiten zu verwenden - da eine Datei keine neue Einheit (Haus) erhält, bis alle anderen belegt sind. Wenn Sie viele kleine Dateien haben, werden Sie sowieso einen großen Tisch (Adressbuch) haben, so dass sie auch kleine Einheiten (Häuser) erhalten können..

    Große Zuordnungseinheiten verschwenden in der Regel viel Speicherplatz, wenn Sie viele kleine Dateien haben. Es gibt normalerweise keinen guten Grund, für die allgemeine Verwendung 4 KB zu überschreiten.

    Zersplitterung?

    Bei der Fragmentierung sollte die Fragmentierung auf diese Weise keinen Platz verschwenden. Große Dateien können fragmentiert werden, d. H. In mehrere Zuordnungseinheiten aufgeteilt werden, aber jede Einheit sollte gefüllt sein, bevor die nächste gestartet wird. Durch die Defragmentierung können Sie zwar etwas Platz in den Zuordnungstabellen sparen, dies ist jedoch nicht Ihr spezielles Problem.

    Mögliche Lösungen

    Wie Gladiator2345 vorschlug, besteht Ihre einzige wirkliche Option an diesem Punkt darin, mit ihm zu leben oder mit kleineren Zuordnungseinheiten neu zu formatieren.

    Möglicherweise ist Ihre Karte in FAT16 formatiert. Dies hat eine kleinere Grenze für die Tabellengröße und erfordert daher viel größere Zuordnungseinheiten, um ein größeres Volumen (mit einer Obergrenze von 2 GB und 32 KB-Zuordnungseinheiten) zu adressieren. Quelle mit freundlicher Genehmigung von Braiam. In diesem Fall sollten Sie trotzdem als FAT32 sicher formatieren können.


    Haben Sie der Erklärung etwas hinzuzufügen? Sound off in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Hier geht es zum vollständigen Diskussionsthread.