Autor Zpráva
Nox
Profil
Zdravím,
velký bratr Google mlčí, takže.... Windows (alespoň XP) udává u parametrů souboru(ů)/složky(ek) dva parametry - jeden je "Velikost" a druhý je "Velikost na disku",
přičemž někdy je větší jeden, někdy druhý.

Když jsem teď zjišťoval velikost php souborů, tak "Velikost na disku" byla dokonce víc jak 3x větší než "Velikost"

Nevěděl by někdo odkaz nebo neosvětlil stručně rozdíl?
Díky moc!
blackjoker
Profil
velikost na disku nějak souvisí s rozložením zátěže, redundancí dat atd.
Teda myslim
článek jsem nenašel tak to radči neber moc vážně
Joker
Profil
Nox
Je to prosté:
Každý souborový systém má takzvané alokační jednotky (bloky, clustery). Cluster je základní jednotka, která se nedá dál dělit- na jeden cluster se nedá uložit více než jeden soubor a souboru je přidělen celý cluster i v případě, že tolik místa nepotřebuje (data souboru pokrývají méně).

Tzn. pokud máte na disku velikost clusteru třeba 32kB, i soubor obsahující jediný bajt bude zabírat na disku 32kB místa. Soubor o velikosti 1kB bude na disku taky zabírat 32kB, soubor o velikosti 30kB taky, soubor o velikosti 33kB bude na disku zabírat 64kB, a tak dále.
Nox
Profil
Joker
Díky moc! Už je to jasné ... a tím asi taky proč může defragmentace zvýšit volný prostor na disku
sicario
Profil
Rekl bych ze to jednak souvisi s velikosti clusteru v danem souborovem systemu a pak s automatickou kompresi "starych" souboru.

Cluster ma pevnou delku X bajtu. Pokud ma soubor velikost napr. 0.5X, na disku stejne zabere X bajtu.

A k te automaticke kompresi - tady je to i s obrazky.
Tomasds
Profil
Nox
S tím souvisí mj. i to, že kopírování deseti tisíc 1kB souborů trvá podstatně déle, než kopírování jednoho 10MB souboru.

Ohledně volného prostoru bych tak optimistický nebyl. Jestli mám soubor rozhozený v 5000 clusterech na disku nebo ve štrůdlu za sebou, velikost zabraného prostoru nijak neovlivní.
Nox
Profil
Tomasds
Pravda... co se dá dělat...
Joker
Profil
Tomasds
S tím souvisí mj. i to, že kopírování deseti tisíc 1kB souborů trvá podstatně déle, než kopírování jednoho 10MB souboru.
To není jen tou velikostí, ale i tím, že kopírování souboru není jen zkopírování jeho dat, ale ten soubor se na cílovém disku musí taky vytvořit, zkopírovat informace o souboru (atributy, oprávnění,...) a podobně. A to je taky rozdíl, jestli se to dělá desettisíckrát, nebo jednou.

Ohledně volného prostoru bych tak optimistický nebyl. Jestli mám soubor rozhozený v 5000 clusterech na disku nebo ve štrůdlu za sebou, velikost zabraného prostoru nijak neovlivní.
Taky bych řekl, že defragmentace jako taková asi místo neuvolní. Ale samozřejmě ovlivní rychlost práce s diskem.
Nox
Profil
Jasné....nevim, jak mě to napadlo
Díky všem
bukaj
Profil
Joker
na jeden cluster se nedá uložit více než jeden soubor a souboru je přidělen celý cluster i v případě, že tolik místa nepotřebuje
Některé souborové systémy (jmenovitě např. ReiserFS) dokáží používat tzv. „tail-packing“. Neboli pokud jeden blok není využit celý, dokáží do jeho zbytku ještě přibalit část, či myslím, že i dokokonce celý soubor, a právě toto řeší problémy malých souborů jako jsou např. zdrojové kódy. Bohužel Windows, pokud vím, podporuje jen pár souborových systémů (NTFS, FAT, jestli něco víc, nevím), které tail-packing nepodporují. Na některé věci by se to opravdu hodilo.

Vaše odpověď

Mohlo by se hodit

Příspěvky nesouvisející s webem budou odstraněny.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: