12Aug

Kāpēc pastāv liela atšķirība starp "lielumu" un "izmēru uz diska"?

click fraud protection

Lielāko daļu laika, kad tiek pārbaudīta mapes vai faila lielums, vērtības "Izmērs" un "Izmērs uz diska" būs ļoti tuvu salīdzinājumam, bet, ja pastāv liela neatbilstība starp abiem?Šodienas SuperUser Q & amats aplūko atbildi uz šo mulsinošo problēmu.

šodienas jautājums &Atbildes sesija mums priecājas par SuperUser - Stack Exchange, kas ir kopienas un Q & A tīmekļa vietņu grupa.

Jautājums

SuperUser lasītājs thelastblack vēlas uzzināt, kāpēc tā tālruņa SD kartē esošās mapes "Size" un "Size on disk" ir tik liela atšķirība:

Kā redzat zemāk, ir tik daudz atšķirību starpŠīs mapes laukus 'Izmērs' un 'Izmērs uz diska'.Kāpēc ir tā, ka?

Es zinu, ka "izmēram uz diska" vajadzētu būt nedaudz vairāk par "lielumu", jo Windows sadalīšanas vienības, bet kāpēc ir tik daudz atšķirību? Vai tas varētu būt lielu failu skaita dēļ?

BTW, šī mape ir ievietota Android tālruņa SD kartē.Tā ietvaros manas kartes lietotne saglabā tās kešatmiņā saglabātās kartes un lietotne iegūst savas kartes no Google Maps.

instagram viewer

Aplūkojot ekrānuzņēmumu, pastāv ļoti liela pretruna starp "Size" un "Size on disk", tādēļ to, kas šeit notika, lai to radītu?

Atbilde

SuperUser ieguldītājam Bobam ir mūsu atbilde:

Es pieņemu, ka šeit jūs izmantojat FAT / FAT32 failu sistēmu, jo jūs pieminējat, ka tā ir SD karte. NTFS un exFAT darbojas līdzīgi attiecībā uz sadales vienībām. Citas failu sistēmas var būt atšķirīgas, taču tās Windows neatbalsta.

Ja jums ir daudz mazu failu, tas noteikti ir iespējams. Apsveriet to:

  • 50 000 faili
  • 32 KB klasteru izmēri( sadalīšanas vienības), kas ir FAT32

max. Labi, tagad minimālā atstarpe ir 50 000 * 32 000 = 1,6 GB( izmantojot SI prefiksus, nevis bināri, lai vienkāršotumatemātika)Katrā failā esošā vieta diskā vienmēr ir sadalīšanas vienības izmēra vairākkārtēja - un šeit mēs pieņemam, ka katrs fails ir pietiekami mazs, lai tas ietilptu vienā vienībā, un daži( izšķērdēta) vieta paliek pāri.

Ja katram failam ir vidēji 2 KB, tad jūs saņemsiet apmēram 100 MB, bet jūs arī iztērēsiet 15x( 30 KB failā), ņemot vērā sadales vienības lielumu.

padziļinātais skaidrojums

Kāpēc tas notiek? Nu FAT32 failu sistēmai ir jāuzskaita, kur tiek saglabāts katrs fails. Ja būtu jāuzglabā katra baita saraksts, tabula( piemēram, adrešu grāmata) pieaugtu ar tādu pašu ātrumu kā dati - un atkritumiem ir daudz vietas. Tātad, ko viņi dara, ir izmantot "sadales vienības", kas pazīstams arī kā "klasteru izmērs".Sējums tiek sadalīts šajās sadalījuma vienībās, un, ciktāl tas attiecas uz failu sistēmu, tos nevar sadalīt - tie ir mazākie bloki, kurus tā var adresēt. Daudz, piemēram, jums ir mājas numurs, bet jūsu pastnieks rūpējas, cik daudz guļamistabu jūs esat vai kas dzīvo šajās vietās.

Tātad, kas notiek, ja jums ir ļoti mazs fails? Nu, faila sistēmai nav nozīmes, vai fails ir 0 KB, 2 KB vai pat 15 KB, tas piešķirs tam vismazāko vietu, ko tas var - iepriekš minētajā piemērā tas ir 32 KB.Jūsu failā tiek izmantots tikai neliels šīs atstarpes apjoms, bet viss pārējais ir izšķērdēts, bet joprojām ietilpst failā - tāpat kā guļamistaba, kurā jūs atstājat neapdzīvotu vietu.

Kāpēc ir dažādi sadales vienību izmēri? Nu, tas kļūst par kompromisu starp lielāku galdu( adrešu grāmata, piemēram, sakot, ka Johnam pieder māja 123 Fake Street, 124 Fake Street, 666 Sātana Lane uc) vai vairāk izšķērdēta vieta katrā mājā.Ja jums ir lielāki faili, ir lietderīgāk izmantot lielākas sadales vienības - jo fails nesaņem jaunu vienību( māju), līdz visi citi ir aizpildīti. Ja jums ir daudz mazu failu, labi, lai gan, visticamāk, jums būs liels galds( adrešu grāmata), tāpēc var arī dot mazas vienības( mājas).

Lielas sadales vienības parasti aizņem daudz vietas, ja jums ir daudz mazu failu. Parasti nav pamatota iemesla pārsniegt 4 KB vispārējai lietošanai.

sadrumstalotība?

Attiecībā uz sadrumstalotību sadrumstalotība nedrīkst šādi iztīrīt telpu. Lielie faili var būt sadrumstaloti, t.i. sadalīti, vairākās sadalīšanas vienībās, taču katra vienība jāaizpilda pirms nākamā sākuma. Defragēšana sadales tabulās var ietaupīt nedaudz vietas, taču tas nav jūsu konkrētais jautājums.

Iespējamie risinājumi

Kā piedāvāja gladiator2345, šajā brīdī jūsu vienīgās reālās iespējas ir ar to dzīvot vai pārformatēt ar mazāku sadales vienību.

Jūsu karte var tikt formatēta FAT16 formātā, kurai ir mazāks galda izmēru ierobežojums, tādēļ, lai risinātu lielāku apjomu( ar maksimālo robežu 2 GB ar 32 KB lielu sadales vienību), nepieciešams daudz lielāks sadales vienību skaits. Avots pieklājīgi Braiam. Ja tas tā ir, jums jebkurā gadījumā jābūt iespējai droši formatēt kā FAT32.

Vai kaut kas jāpievieno paskaidrojumam? Skatieties komentāros. Vēlaties lasīt citas atbildes no citiem tehnoloģiju savvy Stack Exchange lietotājiem?Šeit skatiet pilnu diskusiju pavedienu.