Vyhledávání na webu

Váš Linuxový systém tajně používá váš pevný disk jako RAM, a to je dobrá věc


Pokud trávíte čas mezi vážnými uživateli Linuxu, pravděpodobně uslyšíte odkaz na „swapovací prostor“. Nebo jste si možná lámal hlavu nad tím, co je swapovací oddíl, který vytvořil váš instalační program Linuxu. Virtuální paměť a swapovací prostor mohou být matoucí. Zde je, co potřebujete vědět o Linuxu.

Co je to virtuální paměť?

Flexibilnější pohled na paměť

Mnoho lidí zaměňuje „swap“ s „virtuální pamětí.“ Virtuální paměť je technika, která abstrahuje paměť vašeho počítače nad jeho fyzickou RAM.

Pokud jste seznámeni s konceptem virtuálního stroje, kde můžete v programu jako VirtualBox vytvořit úplně jiný počítač pro spuštění různých operačních systémů, virtuální paměť je podobný koncept. Virtuální paměť je zobrazení paměti vašeho počítače, které operační systém používá k prezentaci obrazu paměti, která není omezená paměťovými moduly RAM ve vašem zařízení.

Na CPU je kus hardwaru, který to umožňuje: jednotka správy paměti neboli MMU. MMU rozděluje paměť na „stránky.“ MMU také brání programům zasahovat do sebe navzájem, což je důležité v multitaskingovém, víceuživatelském operačním systému jako Linux.

Velikosti stránek mají tendenci být stejné jako velikosti úložných bloků na pevných discích a SSD, což je hlavní výhodou virtuální paměti: vytváření velkého, jednotného adresového prostoru, který zahrnuje jak systémovou RAM, tak část pevného disku. Tento přístup umožňuje vašemu systému spouštět více a větší programy i tehdy, kdyby ve vašem počítači nebylo dostatek fyzické RAM.

Tato technika byla poprvé vyvinuta pro mainframy a minipočítače, které musely být sdíleny mezi více uživateli. Virtuální paměť znamenala, že byla menší potřeba fyzické paměti, což umožnilo zákazníkům ušetřit peníze tím, že si pořídili stroje s menším množstvím fyzické RAM.

Operační systém, s paměťovými stránkami rozptýlenými po RAM a disku (budu používat termín „disk“ k označení hlavní paměti, ať už na tradičním pevném disku s rotujícími plotnami, nebo na SSD), může tyto stránky „vyměňovat“ dovnitř a ven z hlavní paměti. Operační systém se bude snažit udržet stránky, které jsou aktivně používány, „vyměněné dovnitř“, tedy v fyzické RAM. Je to proto, že RAM byla tradičně rychlejší než disk, zejména v dobách, kdy SSD nebyly běžně dostupné.

Tento přístup umožňuje, aby programy a části programů, které skutečně používáte, byly aktivní v rychlé RAM místo na pomalém disku. Zakázání virtuální paměti by paradoxně mohlo znamenat pomalejší systém, protože všechny aktivní programy by musely být udržovány v paměti. Mnoho programů vytvoří při spuštění spoustu stránek, ale jádro je přesune do pozadí, zatímco stránky s vysokou prioritou zůstanou v RAM s virtuální pamětí, podle Linux.com.

Pokud nemáte v systému dostatek fyzické RAM, operační systém bude neustále přesouvat stránky do RAM a z RAM, neschopen držet krok, což problém ještě zhoršuje pomalá rychlost tradičních pevných disků. To činí systém prakticky nepoužitelným, což je problém známý jako „thrashing“. Thrashing při nedostatečné RAM byl důvodem, proč virtuální paměť měla špatnou pověst mezi pokročilými uživateli, nebo alespoň lidmi, kteří si mysleli, že jsou experti na počítače, někteří lidé se dokonce úplně vyhýbali jejímu vypnutí. To je špatný nápad. Mít aktivně používané části v RAM s virtuální pamětí je efektivnější.

Další hlavní obavou ohledně virtuální paměti při moderním nasazení SSD je možná předčasná opotřebení SSD při nižších kapacitách RAM, zejména u moderních notebooků, kde je RAM připájena k základní desce a nelze ji upgradovat. Existuje méně důkazů, že by se jednalo o praktický problém při běžném používání desktopu. Pokud provádíte intenzivní práci nebo AAA hry, budete stejně chtít více RAM.

Co je swapovací prostor?

Parkovací stránky v souborech nebo oddílech






Oblast úložiště, která uchovává vyřazené stránky, je známá jako swapovací prostor.

Linux má dva přístupy k implementaci swap prostoru. Nejčastější je vyhradit diskovou partition. Obecné pravidlo pro swapové partition bylo dvojnásobek fyzické RAM v počítači. To je stále to, co většina instalací Linuxu navrhne ve výchozím nastavení, když budete partitionovat disk. Nevýhodou tohoto přístupu je, že pokud upgradujete RAM, budete muset také zvětšit swapovou partition. Swapové partition jsou často první partitiony na discích kvůli tomu, jak fungují tradiční pevné disky. Je rychlejší hledat směrem k vnitřku plotny, takže sem instalační programy umístí swapovou partition.

Druhý přístup je soubor pro výměnu (swap file), který je, jak název napovídá, speciálním souborem v souborovém systému Linuxu. Je flexibilnější než vyhrazená swapová partition, protože jej lze snadno změnit, pokud se změní fyzická RAM. Tento přístup používá Windows pro virtuální paměť. V linuxovém světě je mnohem méně běžný než přístup s vyhrazenou partition.

Swap oddíl nebo swap soubor?

Tradice vs flexibilita

Přístup s vyhrazenou particí se zdá být nejběžnější v Linuxu. Většina lidí pravděpodobně jen udělá to, co jejich instalační program Linuxu dělá. Naprostá většina instalací Linuxu stále preferuje swapové partition.

Pokud často upgradujete RAM nebo jen preferujete jednodušší schéma oddílů, můžete zvolit soubor swap. Je také možné provozovat systém bez jakéhokoli swap prostoru, ale můžete se setkat s tím, že vám úplně dojde paměť. Linuxové systémy bez swapu se obvykle používají v specializovaných aplikacích, jako jsou řídicí jednotky vestavěných systémů.

Kolik výměnného prostoru?

Přehodnocení tradičního pravidla „dvakrát více fyzické paměti RAM“

Tradiční obecné pravidlo ohledně toho, kolik swapovacího prostoru potřebujete, bylo dvojnásobek fyzické paměti. Toto pochází z doby, kdy měly počítače tendenci mít mnohem méně RAM než dnes. Může to stále platit, protože moderní operační systémy, včetně Linuxu, jsou mnohem schopnější. Většina moderních strojů podporuje hibernaci a tato funkce používá swapovací prostor k uložení stavu systému. Pokud tuto funkci využíváte, je lepší mít více swapovacího prostoru. Měli byste považovat množství fyzické RAM za naprosté minimum swapovacího prostoru.

Jediný způsob, jak opravit thrashing

Zadrhávání systému? Pravděpodobně potřebujete více paměti RAM

Pokud trpíte thrashingem, mohlo by vás napadnout zkusit upravit „swappiness“ systému, tedy jak agresivně bude systém přepínat stránky dovnitř a ven. To by však bylo pouze dočasné řešení.

Možná se vám odpověď nebude líbit, zejména s cenou RAM, ale jediný spolehlivý způsob, jak opravit přepínání, je přidat více RAM.


Nepovšimnutý hrdina Linuxu

Swap prostor je něco, nad čím většina lidí na moderních Linuxových systémech nepřemýšlí, dokud se něco nepokazí. Virtuální paměť umožňuje používat moderní desktop, ale má své hranice. Porozumění tomu, jak funguje a jaká jsou její omezení, vám pomůže efektivněji používat swap prostor na Linuxu při vaší další instalaci.

Související články