GNU/Linux >> Znalost Linux >  >> Linux

Jak funguje swap paměti v Linuxu?

Abychom pochopili, co je swap paměť v Linuxu, podíváme se na koncept RAM a na to, jak linuxový systém reaguje, když RAM dosáhne své maximální kapacity.

S tématem paměti je poměrně běžné narazit na zmínky o RAM a odkládacím prostoru. V tomto tutoriálu diskutujeme o RAM a odkládací paměti, abychom pochopili, proč je odkládací paměť v Linuxu tak nezbytná.

Nastavení kontextu…

Někdy můžete zažít, že se váš systém při práci zpomaluje. To se obvykle děje kvůli fyzické paměti nebo RAM, která je využívána na maximální kapacitu.

To je něco, čemu se chceme vyhnout, protože nedostupnost místa RAM může způsobit dlouhé doby čekání na I/O a sníženou odezvu systému. Aby tomu zabránil, systém využívá odkládací prostor. Pomáhá zajistit, aby systém nevyčerpal fyzickou paměť vašeho systému.

Jak se používá RAM?

RAM neboli paměť s náhodným přístupem je nejdůležitější součástí každého digitálního zařízení. Na tomto hardwaru jsou uložena všechna aktuálně používaná data procesoru.

Toto paměťové místo může procesor číst mnohem rychleji ve srovnání s jinými umístěními, jako je HDD nebo SSD.

Vzhledem ke své nestálé povaze ukládá RAM pouze data, která jsou aktuálně používána. Jakmile se systém vypne, ztratí veškerou paměť, která v něm byla uložena. K trvalému uložení požadovaných dat proto používáme úložná zařízení, jako je HDD, SSD nebo optická jednotka.

Ale tato úložná zařízení nám pomáhají i v jiných případech. Jedním z takových případů je situace, kdy se RAM blíží plné kapacitě a nemůže pojmout všechna požadovaná data současně.

To nás přivádí ke konceptu odkládací paměti v Linuxu.

Porozumění swap paměti v Linuxu

Odkládací paměť v Linuxu se používá k zabránění přetečení dat v RAM v případě, že systém čelí vysoké zátěži. To pomáhá zabránit tomu, aby systém přestal reagovat kvůli nedostatku paměti. Také zajišťuje, že aplikace nebo procesy nenarazí na chyby „nedostatek paměti“.

Jak funguje odkládací paměť?

Z hlediska paměti je stránka pevným blokem paměťového prostoru. Datové bloky zabírající RAM tak činí ve formě těchto stránek.

V případě, že se úložiště RAM blíží limitu, musí operační systém upřednostňovat procesy, které tuto paměť využívají. Operační systém tedy vybírá stará data nebo procesy, které mohou být nečinné, aby uvolnil RAM.

Tato data jsou poté zapsána do předem definované části paměťového zařízení ROM v systému. Tato sekce je známá jako „swap space“.

Tato funkce swap paměti v Linuxu umožňuje OS udržovat dostatek volného místa RAM za všech okolností. Později se tyto stránky podle potřeby „vymění“ za stránky uložené v paměti RAM.

Proč je odkládací paměť důležitá?

Prostor RAM je cenným zdrojem. Je vyžadován pro všechny procesy. Swap paměti v Linuxu umožňuje OS vyvážit dostupné zdroje. To zase vede k efektivnímu fungování vašeho systému.

Přístup k datům uloženým ve swap paměti v Linuxu trvá déle než k datům uloženým v RAM. To však nezpůsobuje žádné problémy.

Všechna data zapsaná ve swapovací paměti se načtou zpět do paměti RAM, jakmile se uvolní, nebo jsou data vyžadována pro aktuální proces. Díky tomu je odkládací paměť v Linuxu spolehlivou ochranou proti selhání pro zabránění jakékoli výjimce z nedostatku paměti pro běžící procesy v našem systému.

Poznámka: Je důležité mít na paměti, že odkládací paměť se doporučuje pouze pro systémy využívající mechanické pevné disky.

V případě systémů používajících disky SSD bylo pozorováno, že vytváření oddílů odkládací paměti způsobuje z dlouhodobého hlediska degradaci hardwaru. To snižuje životnost vašeho SSD a může riskovat selhání paměti.

Jak zkontrolovat přidělení odkládací paměti vašeho systému?

U většiny systémů se ve vlastnostech paměti běžně setkáváme s pojmem „virtuální paměť“. Virtuální paměť je prostor v systému, který se rovná součtu RAM a odkládací paměti v Linuxu.

Téměř všechny moderní linuxové systémy standardně deklarují swapovací oddíl, aby se zabránilo situacím přetečení paměti.

Pro uživatele Linuxu může být proto nezbytné zkontrolovat alokaci virtuální a odkládací paměti na svém systému. To může pomoci při rozhodování, zda chcete zvětšit nebo zmenšit swapovací oddíl podle vašich požadavků.

Chcete-li zkontrolovat celkovou alokaci a využití virtuální paměti ve vašem systému, zadejte do terminálu následující příkaz.

free -h

Jak je znázorněno na snímku obrazovky výše, toto vám ukazuje celkovou dostupnou RAM a odkládací paměť.

Zobrazuje také množství paměti, která je aktuálně využívána, a množství volné paměti dostupné systému.

Poznámka: Výslovně jsem deklaroval 0% swap pro svůj linuxový server, protože je to testovací prostředí a nepotřebuje odkládací prostor.

Pokud chcete jednoduše zjistit velikost odkládacího oddílu ve vašem systému, můžete použít příkazový řádek k zobrazení obsahu odkládacího konfiguračního souboru uloženého na /proc/swaps pomocí kočky příkaz:

cat /proc/swaps

Jak již bylo zmíněno, nemám na svém systému nakonfigurovaný odkládací prostor, ale můžete spustit tento příkaz a zobrazit odkládací prostor nakonfigurovaný pro váš systém.

Závěr

V každém systému se jen málo zdrojů blíží důležitosti prostoru RAM. S pomocí odkládací paměti mohou systémy využívat dostupné zdroje co nejlépe, aniž by výrazně utrpěly výkon.

Tento mechanismus tiše funguje na pozadí, aby uživatelům zajistil hladký zážitek i v případě relací s vysokou zátěží.

Doufáme, že prostřednictvím tohoto tutoriálu jste byli schopni dobře porozumět RAM spolu s konceptem odkládací paměti v Linuxu.


Linux
  1. Jak přidat odkládací prostor v linuxu

  2. Jak funguje příkaz 'ls' v Linuxu/Unixu?

  3. Jak povolit linuxový odkládací oddíl?

  1. Jak vymazat mezipaměť v Linuxu

  2. Jak vytvořit swap v Linuxu

  3. Ssh – Jak funguje Tcp-keepalive v Ssh?

  1. Jak spravovat swapovací oddíl v Linuxu

  2. ZFS pod Linuxem, funguje to?

  3. Jak funguje debugger v Linuxu?