Proč vyprázdnění disku zrychluje počítače?
Když se dozvíte víc o počítačích a jak fungují, občas narazíte na něco, co zřejmě nemá smysl. S tímto vědomím vyprázdní místo na disku skutečně rychlost počítačů nahoru? Dnešní příspěvek typu SuperUser Q & A má odpověď na otázku zmateného čtenáře.
Dnešní zasedání Otázky a odpovědi nás přichází s laskavým svolením SuperUser - podřízené rozdělení Stack Exchange, které je založeno na komunitě prostřednictvím skupin webových stránek.
Screenshot s laskavým svolením nchenga (Flickr).
Otázka
Čtečka SuperUser Remi.b chce vědět, proč se zdá, že vyprázdnění místa na disku zrychluje počítač:
Sledoval jsem hodně videí a nyní jsem pochopil, jak fungují počítače o něco lépe. Rozumím, co je RAM, o volatilní a trvalé paměti a procesu výměny. Také chápu, proč zvyšující se paměť RAM zrychluje počítač.
Co já nerozumím, je důvod, proč vyčistit prostor na disku zřejmě urychlí počítač nahoru. Má to opravdu rychlý počítač? Pokud ano, proč to dělá?
Má to něco společného s vyhledáváním paměťového prostoru pro záchranu věcí nebo s pohybujícími se věcmi, aby se dosáhlo dostatečně dlouhého nepřetržitého prostoru, aby se něco ušetřilo? Kolik prázdného místa mám nechat zdarma na pevném disku?
Proč se zdá, že vyprázdnění místa na disku zrychluje počítač?
Odpověď
Příspěvek SuperUser Jason C má pro nás odpověď:
"Proč vyprázdnění místa na disku zrychlí počítače?"
To není, přinejmenším ne samotné. To je opravdu běžný mýtus. Důvodem, proč je to běžný mýtus, je to, že naplnění pevného disku se často stává současně s jinými věcmi, které by tradičně zpomalily počítač (A). Výkon SSD má tendenci k degradaci, protože naplňuje, ale je to relativně nová záležitost, která je pro SSD jedinečná a není pro náhodné uživatele skutečně patrná. Obecně platí, že nízké volné místo na disku je jen červené sledování.
Například:
1. Fragmentace souborů. Fragmentace souborů je problém (B), ale nedostatek volného prostoru, a určitě jeden z mnoha přispívajících faktorů, není jedinou příčinou. Některé klíčové body zde:
- Šance fragmentu souboru jsou ne související s množstvím volného místa na disku. Jsou souvisí s velikostí největšího sousedícího bloku volného prostoru na jednotce (tj. "Otvory" volného prostoru), což je množství volného prostoru stane se horní hranice. Jsou také vztaženy k tomu, jak souborový systém zpracovává přidělení souborů (níže).. Zvážit: Jednotka, která je 95 procent plná s veškerým volným prostorem v jednom sousedícím bloku, má nulový šanci fragmentovat nový soubor (C) (a šance fragmentovat připojený soubor je nezávislá na volném prostoru). Jednotka, která je plná pět procent, ale s daty rozloženými rovnoměrně po disku, má velmi vysokou šanci fragmentace.
- Mějte na paměti fragmentaci souborů ovlivňuje výkon pouze při přístupu k fragmentovaným souborům. Zvážit: Máte pěkný defragmentovaný disk, který má v sobě spoustu volných "děr". Obvyklý scénář. Všechno běží hladce. Nakonec však dojde k bodu, kdy zbývají větší bloky volného prostoru. Stahujete obrovský film, soubor končí a je velmi roztříštěný. To nebude zpomalovat počítač. Všechny soubory aplikace a takové, které byly dříve v pořádku, se náhle nezlomí. To může způsobit, že film bude trvat delší dobu načtení (i když typické bitové rychlosti videa jsou tak nízké ve srovnání s rychlostí čtení pevného disku, že to bude s největší pravděpodobností nepozorovatelné) a může to ovlivňovat vstupně-výstupní vázanost při nahrávání filmu, ale jiné než to, nic se nezmění.
- Zatímco fragmentace souborů je jistě problém, často jsou efekty zmírněny ukládáním do vyrovnávací paměti operačního systému a hardwaru a ukládáním do mezipaměti. Zpožděné zápisy, přečtení, strategie jako prefetcher v systému Windows atd. Pomáhají snižovat účinky fragmentace. Obecně ne vlastně zažijete významný dopad, dokud se fragmentace nestane těžkou (dokonce bych chtěl říci, že pokud váš swapový soubor není roztříštěný, asi si nikdy nevšimnete).
2. Vyhledání indexů je dalším příkladem. Řekněme, že máte zapnuto automatické indexování a operační systém, který se tak laskavě nezbavuje. Při ukládání stále více a více indexovatelného obsahu do počítače (dokumenty a podobně) může indexování trvat déle a déle a může mít vliv na vnímanou rychlost vašeho počítače během jeho běhu jak v I / O, tak i v procesoru . To se netýká volného místa, souvisí s množstvím indexovatelného obsahu, který máte. Avšak vyčerpání volného prostoru jde ruku v ruce s ukládáním většího obsahu, a proto je nakreslena falešná spojitost.
3. Antivirový software (podobný příkladu indexování vyhledávání). Řekněme, že máte nainstalován antivirový software, který provede skenování na pozadí vašeho disku. Vzhledem k tomu, že máte stále více a více skenovatelných obsahů, vyhledání vyžaduje více vstupních a výstupních zdrojů a CPU, což pravděpodobně narušuje vaši práci. Opět se to týká množství obsahu, který máte skenovat. Více obsahu se často rovná méně volného místa, ale nedostatek volného místa není příčinou.
4. Instalovaný software. Řekněme, že máte spoustu nainstalovaného softwaru, který se načte při spuštění počítače, což zpomaluje počáteční časy. Toto zpomalení se stává, protože se načítá spousta softwaru. Instalační software však zabírá místo na pevném disku. Proto se volné místo na pevném disku snižuje ve stejném okamžiku, kdy k tomu dojde, a opět může být snadno provedeno falešné připojení.
5. Mnoho dalších příkladů v těchto liniích, které, když jsou vzaty dohromady, objevit úzce spojit nedostatek volného prostoru s nižším výkonem.
Z výše uvedeného je patrné, že je to takový běžný mýtus: Zatímco nedostatek volného místa není přímou příčinou zpomalení, odinstalováním různých aplikací, odstraněním indexovaného nebo naskenovaného obsahu atd. Někdy (ale ne vždy, mimo rozsah tato odpověď) zvyšuje výkon z důvodů nesouvisejících s volným prostorem. Ale to samozřejmě také uvolňuje prostor na pevném disku. Znovu tedy může být zřejmé (ale nepravdivé) spojení mezi "více volným prostorem" a "rychlejším počítačem".
Zvážit: Pokud máte stroj spuštěný pomalu kvůli spoustě nainstalovaného softwaru atd., Klonujte pevný disk (přesně) na větší pevný disk a poté rozšiřte své oddíly, abyste získali více volného místa, stroj se nebude magicky urychlit. Stejné soubory se načítají, stejné soubory jsou stále fragmentovány stejnými způsoby, stejný vyhledávací index stále běží, nic se nemění, i když má více volného místa.
"Má to něco společného s hledáním paměťového prostoru, abys zachránil věci?"
Ne to není. Jsou zde dvě velmi důležité věci, které stojí za zmínku:
1. Váš pevný disk neprohledává, aby našel místa, kde by mohl dát věci. Váš pevný disk je hloupý. To nic není. Jedná se o velký blok adresovaných úložišť, který slepě položí věci, na které váš systém říká, a čte vše, co se od něj ptá. Moderní jednotky mají sofistikované mechanismy ukládání a ukládání do vyrovnávací paměti, které jsou navrženy tak, že předpovídají, co OS bude požadovat na základě zkušeností, které jsme získali v průběhu času (některé jednotky si dokonce uvědomují souborový systém, který je na nich). řídit jako velkou hloupou cihlu skladování s občasnými bonusovými funkcemi.
2. Váš operační systém také nevyhledává místa, která by mohla dát věci. Neexistuje žádné vyhledávání. Na řešení tohoto problému se vynaložilo velké úsilí, protože je rozhodující pro výkon systému souborů. Způsob, jakým jsou data skutečně organizována na vaší jednotce, je určena vaším systémem souborů. Například FAT32 (staré DOS a Windows PC), NTFS (pozdější vydání Windows), HFS + (Mac), ext4 (některé systémy Linux) a mnoho dalších. Dokonce i pojem "soubor" a "adresář" jsou pouze produkty typických souborových systémů - pevné disky nevědí nic o tajemných zvířatech nazývaných soubory. Podrobnosti jsou mimo rozsah této odpovědi. V podstatě však všechny běžné souborové systémy mají způsoby sledování, kde je dostupný prostor na jednotce, takže vyhledávání volného místa je za normálních okolností (tj. Souborových systémů s dobrým zdravotním stavem) zbytečné. Příklady:
- NTFS má hlavní tabulku souborů, která obsahuje speciální soubory $ Bitmap, atd. a spousta metadatových dat popisujících jednotku. V podstatě to sleduje, kde jsou další volné bloky tak, aby nové soubory mohly být zapsány přímo na volné bloky, aniž by museli skenovat jednotku pokaždé.
- Jiný příklad: Ext4 má to, co se nazývá bitmapový alokátor, zlepšení nad ext2 a ext3, které v podstatě pomáhá přímo určit, kde jsou volné bloky místo skenování seznamu volných bloků. Ext4 také podporuje zpožděné přidělení, tj. vyrovnávání dat v paměti RAM operačním systémem předtím, než je zapisuje na jednotku, aby bylo možné lépe rozhodovat o tom, kde je třeba jej omezit fragmentaci.
- Mnoho dalších příkladů.
"Nebo s pohybujícími se věcmi, aby se dosáhlo dostatečně dlouhého nepřetržitého prostoru, abys něco zachránil?"
Ne. To se nestane, alespoň ne se systémem souborů, o kterém jsem si vědom. Soubory skončí roztříštěné.
Proces "pohybu věcí kolem, aby se vytvořil dostatečně dlouhý souvislý prostor pro záchranu něčeho", se nazývá defragmentace. K tomu nedojde při psaní souborů. K tomu dojde při spuštění defragmentace disku. Na novějších verzích systému Windows se to stane automaticky podle plánu, ale nikdy se neprovádí psaní souboru.
Být schopen vyhýbat se pohybující se věci takhle jsou klíčem k výkonnosti souborového systému, a proto se děje fragmentace a proč defragmentace existuje jako samostatný krok.
"Kolik prázdného místa mám nechat zdarma na pevném disku?"
To je mnohem složitější otázka (a tato odpověď se již změnila v malou knihu).
Pravidla:
1. Pro všechny typy pohonů:
- A co je nejdůležitější, nechte dostatek volného místa můžete efektivně používat počítač. Pokud máte nedostatek místa k práci, budete chtít větší disk.
- Mnoho nástrojů pro defragmentaci disku vyžaduje minimální množství volného místa (myslím, že ten s operačním systémem Windows vyžaduje 15%, nejhorší případ), aby mohli pracovat. Používají tento volný prostor k dočasnému přidržení fragmentovaných souborů, protože jiné věci jsou přeskupeny.
- Nechte místo pro další funkce OS. Například pokud vaše zařízení nemá hodně fyzické paměti RAM a máte aktivovanou virtuální paměť s dynamicky formátovaným stránkovým souborem, budete chtít nechat dostatek místa pro maximální velikost souboru. Nebo pokud máte notebook, který jste uvedli do režimu hibernace, budete potřebovat dostatek volného místa pro soubor stavu hibernace. Takové věci.
2. Specifické pro SSD:
- Pro dosažení optimální spolehlivosti (a v menší míře výkonnosti) vyžadují jednotky SSD určitý volný prostor, který bez příliš velkého množství detailů používá k šíření dat kolem jednotky, aby se neustále píše na to samé místo (které je nosí) . Tento pojem opuštění volného prostoru se nazývá nadměrná tvorba rezerv. To je důležité, ale v řadě SSD již existuje povinný nadbytečný prostor. To znamená, že disky mají často několik tuctů GB než jsou hlášeny operačnímu systému. Pohony nižší třídy často vyžadují ruční opuštění nerozdělené prostor, ale pro jednotky s povinným operačním systémem, nemusíte opustit volný prostor. Důležitou věcí, kterou je třeba poznamenat, je to nadbytečný prostor je často převzat pouze z nepartimentovaného prostoru. Takže pokud váš oddíl zaujme celý disk a necháte nějaký volný prostor, ne vždy spočítat. Mnohokrát, ruční přeplňování vyžaduje, abyste zmenšili váš oddíl tak, aby byl menší než velikost jednotky. Podrobné informace naleznete v uživatelské příručce jednotky SSD. TRIM, sběr odpadků, a taky mají účinky, ale ty jsou mimo rozsah této odpovědi.
Osobně obvykle chytím větší disk, když mám zbývající 20-25% volného místa. To se netýká výkonnosti, je to jenom to, že když se dostanu k tomuto bodu, očekávám, že budu pravděpodobně dostat z místa pro data brzy a je načase získat větší drive.
Důležitější než sledování volného místa je ujistit se, že naplánovaná defragmentace je zapnuta tam, kde je to vhodné (nikoliv na SSD), takže se nikdy nedostanete k bodu,.
Je tu ještě jedno, co stojí za zmínku. Jedna z dalších odpovědí zde uváděla, že poloduplexní režim SATA zabraňuje čtení a psaní současně. I když je to pravda, je to z velké části zjednodušené a většinou nesouvisí s výkonnostními problémy, o kterých se zde diskutuje. Co to jednoduše znamená, že data nelze přenášet v obou směrech na drátu ve stejnou dobu. Nicméně SATA má poměrně složitou specifikaci zahrnující drobné maximální velikosti bloků (asi 8kB na blok na drátě, myslím), čtení a zápis fronty operací apod. A nevylučuje, že se píše do vyrovnávacích pamětí při čtení probíhá, prokládá operace, atd.
Jakékoli blokování, ke kterému dochází, by mohlo být způsobeno soutěžením o fyzické zdroje, obvykle zmírněnými spoustou cache. Režim duplexu SATA je téměř zcela bezpředmětný.
(A) "Zpomalení" je široký výraz. Zde se používá k odkazu na věci, které jsou buď vázané na I / O (tj. Pokud váš počítač sedí tam křupavá čísla, obsah pevného disku nemá žádný dopad) nebo CPU-vázané a soutěží s tangenciálně příbuzné věci, které mají vysoké Využití procesoru (tj. Antivirový software skenování tun souborů).
(B) SSD jsou ovlivněny roztříštěností v tom, že sekvenční přístupové rychlosti jsou obecně rychlejší než náhodný přístup, a to i přes SSD, které nejsou vystaveny stejným omezením jako mechanické zařízení (i tehdy nedostatek fragmentace nezaručuje postupný přístup kvůli vyrovnávání opotřebení apod.). V prakticky každém obecném scénáři je to však problém. Výkonnostní rozdíly způsobené fragmentací na jednotkách SSD jsou zpravidla zanedbatelné u věcí, jako je načítání aplikací, bootování počítače atd.
(C) Za předpokladu správného systému souborů, který nerozšíří soubory účelně.
Ujistěte se, že si přečtete zbytek živé diskuze na serveru SuperUser pomocí níže uvedeného odkazu!
Musíte něco přidat k vysvětlení? Vyjměte v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.