12Aug

Miért van nagy különbség a "méret" és a "méret a lemezen" között?

click fraud protection

A "Size" és a "Size on disk" értékek nagy része nagyon közel lesz a megfeleltetéshez egy mappa vagy fájl méretének ellenőrzésénél, de mi van, ha hatalmas eltérés van a kettő között? A mai SuperUser Q & A bejegyzés megvizsgálja a választ erre a zavaros problémára.

A mai kérdés &A válaszüzenet a SuperUser - a Stack Exchange megosztottságának köszönhetően - a Q & A webhelyek közösségi szintű csoportosítása.

Az

SuperUser olvasó kérdése, a thelastblack szeretné tudni, hogy miért van ilyen nagy különbség a "Size" és a "Size on disk" között a telefon SD kártyáján lévő mappához:

Ahogy az alábbiakban látható,A "Size" és a "Size on disk" mezők erre a mappára. Miert van az?

Tudom, hogy a "Méret a lemezen" valamivel többnek kell lennie, mint a "Méret", mert a Windowsban lévő kiosztási egységek miatt van, de miért van ez a sok különbség? Lehetséges a fájlok nagy száma miatt?

BTW, ez a mappa az Android telefon SD-kártyáján található.Ezen belül a térképalkalmazás tárolja a tárolt térképeket, és az alkalmazás megkapja a térképeket a Google Térképből.

instagram viewer

A képernyőképet tekintve hatalmas különbség van a "méret" és a "méret a lemezen" között, tehát mi történt itt, hogy ezt okozza?

A válasz

A SuperUser-hozzájáruló Bobnak van a választ számomra:

Feltételezem, hogy itt a FAT / FAT32 fájlrendszert használja, mivel említi ezt az SD-kártyát. Az NTFS és az exFAT hasonlóan viselkedik a kiosztási egységek tekintetében. Más fájlrendszerek eltérőek lehetnek, de a Windows egyébként nem támogatják őket.

Ha sok kis fájl van, ez biztosan lehetséges. Vegye figyelembe a következőket:

  • 50 000 fájl
  • 32 KB-os klaszterméret( kiosztási egységek), ami a max a FAT32

okhoz képest most az minimális hely 50.000 * 32.000 = 1,6 GB( SI prefixekkel, nem binárisan,matematika).Az egyes fájlok helyét a lemezen mindig az elosztóegység méretének többszöröse alkotja - és itt azt feltételezzük, hogy az egyes fájlok valójában elég kis méretűek ahhoz, hogy egy egységbe illeszkedjenek, elmaradt( elpazarolt) tér maradt.

Ha mindegyik fájl átlagosan 2 KB, akkor kb. 100 MB összeget kapna - de az elosztási egység mérete miatt is átlagosan 15x-ot veszít el( 30 KB / fájl).

mélyreható magyarázat

Miért történik ez? Nos, a FAT32 fájlrendszernek nyomon kell követnie, hogy hol tárolják az egyes fájlokat. Ha minden egyes byte listáját meg kívánja tartani, akkor az asztal( mint például a címjegyzék) ugyanolyan sebességgel növekszik, mint az adatok - és rengeteg helyet takarít meg. Tehát az általuk alkalmazott "elosztási egységek"( "cluster size") néven is ismertek. A kötet oszlik ezekre az elosztási egységekre, és a fájlrendszer tekintetében nem oszthatóak fel - ezek a legkisebb blokkok, amelyekkel foglalkozhat. Olyan, mint egy házszám, de a postásod nem érdekli, hogy hány hálószoba van vagy élsz bennük.

Szóval mi történik, ha nagyon kicsi fájlt kapsz? Nos, a fájlrendszer nem érdekli, ha a fájl 0 KB, 2 KB, vagy akár 15 KB, akkor ez a legkisebb helyet biztosítja - a fenti példában 32 KB.A fájl csak kis mennyiségben használja ezt a helyet, a többi lényegében elpazarolt, de még mindig tartozik a fájlhoz - hasonlóan ahhoz, mint egy hálószoba, amelyet szabadon hagy.

Miért vannak különböző elosztási egységméretek? Nos, ez egy kompromisszumot jelent a nagyobb asztalok között( címjegyzék, például, hogy John egy házat birtokol a 123 Fake Street, a 124 Fake Street, a 666 Sátán Lane stb.) Házban, vagy több elpazarolt helyet minden egységben( házban).Ha nagyobb fájlok vannak, akkor nagyobb értelemben van nagyobb elosztási egységek használata - mivel egy fájl nem kap új egységet( házat), amíg az összes többi nem töltődik be. Ha rengeteg kis fájlod van, akkor egy nagy asztalt( címjegyzéket) fogsz kapni, így akár kisebb egységek( házak) is adhatnak nekik.

A nagy elosztási egységek általános szabály szerint sok helyet ronthatnak, ha sok apró fájlja van.Általában nincs jó ok arra, hogy általános használat mellett 4 KB fölé haladjunk.

töredezettség?

A szétforgácsolódás tekintetében a fragmentációnak nem szabad helyet kihasználnia. A nagyméretű fájlok töredezettek lehetnek, azaz feloszthatók több elosztóegységre, de minden egyes egységet fel kell tölteni a következő elindítás előtt. A defragging menthet egy kis helyet az elosztási táblázatokban, de ez nem az Ön konkrét problémája.

Lehetséges megoldások

Ahogy a gladiator2345 javasolta, az egyedüli valódi lehetőségei ebben a pontban élni vele, vagy újraformálni kisebb elosztási egységekkel.

A kártyát a FAT16 formátumban lehet formázni, amely kisebb méretű a táblaterület méreténél, ezért sokkal nagyobb elosztási egységekre van szüksége annak érdekében, hogy egy nagyobb kötetet kezeljen( 2 GB-os felső határral 32 KB-os elosztási egységekkel).Forrás Braiam jóvoltából. Ha ez a helyzet, mindenképpen képesnek kell lennie arra, hogy biztonságosan formázza a FAT32-et.

Van valami a magyarázat hozzáadásához? Hangzik ki a megjegyzésekben. Szeretne többet válaszolni a többi technikus-tudós Stack Exchange felhasználóiról? Nézze meg a teljes vitafonalat itt.