Linuxové jadro

Výmenný priestor správy jadra systému Linux

Výmenný priestor správy jadra systému Linux

Časť prvá. Výmenný priestor

Aby počítač správne fungoval, závisí od dostatočného množstva pamäte. Jednoducho povedané, nikdy nemôže byť dosť. Čím viac fyzickej pamäte je nainštalovaná, tým je to nákladnejšie. Výsledkom je väčšinou chytrý kompromis medzi nákladmi a rýchlosťou prístupu k pamäťovým bunkám.

Na dosiahnutie tohto kompromisu systémy UNIX / Linux kombinujú dva typy pamäte - fyzickú pamäť (RAM) a odkladací priestor. Celkovo sa tomu hovorí virtuálna pamäť výpočtového systému. Fyzická pamäť je dosť drahá, ale rýchla a prístupná v nanosekundách. Naproti tomu odkladacia pamäť je pomerne lacná, ale pomalá a prístupná v priebehu milisekúnd.

Existuje niekoľko dôvodov, prečo je vymeniteľná pamäť užitočná. Po prvé, niekedy jednotlivé procesy potrebujú viac pamäte, ako systém fyzicky vlastní, a môžu poskytnúť viac procesom, ktoré si to vyžadujú. Výsledkom je, že všetky údaje, ktoré sa uchovávajú vo fyzickej pamäti, sa tam už nemôžu ukladať. Teraz prichádza na rad odkladací priestor a výber pamäťových stránok sa prenesie do odkladacieho priestoru, aby sa uvoľnila fyzická pamäť.

Po druhé, v pamäti nie sú potrebné všetky údaje súčasne. Preto sú menej využívané pamäťové stránky zaparkované na odkladacom priestore, aby bolo k dispozícii čo najviac voľnej fyzickej pamäte. Táto metóda sa nazýva najmenej používaný algoritmus nahradenia stránky (LRU) [1].

Druhy výmeny

Výmenný priestor existuje v dvoch variantoch. Verzia 1 je samostatný diskový oddiel, ktorý je takzvaným odkladacím oddielom. Na tomto oddiele nie sú uložené žiadne súbory, ale informácie o pamäti (výpis). Jednoducho, verzia 2 je súbor na disku, ktorý sa nachádza v súborovom systéme na vašom pevnom disku. Verzia 1 je veľmi častá v systémoch UNIX / Linux, BSD a OS X, zatiaľ čo verzia 2 existuje v systémoch so systémom Microsoft Windows. Verziu 2 je možné povoliť aj v systémoch UNIX / Linux (pozri nižšie).

Ak chcete zistiť, ktorý odkladací priestor je aktívny vo vašom systéme UNIX / Linux, spustite v termináli nasledujúci príkaz:

$ / sbin / swapon -s
Názov súboru Veľkosť Použitá veľkosť Priorita
/ dev / dm-3 oddiel 16150524 316484 -1
$

Ako alternatívu môžete poslať požiadavku do systému súborov proc a spustiť príkaz cat / proc / swaps

Tento systém Linux má odkladaciu oblasť s veľkosťou asi 15 GB, v ktorej sa momentálne používa viac ako 300 M. Stĺpec Priorita zobrazuje, ktorý odkladací priestor sa má použiť ako prvý. Predvolená hodnota je -1. Čím vyššia je hodnota priority, tým skôr sa tento swapový priestor zohľadní. Možnosť -s je krátka verzia -summary. Táto možnosť je zastaraná a namiesto toho sa odporúča použiť voľbu -show takto:

$ / sbin / swapon --show = NÁZOV, TYP, VEĽKOSŤ, POUŽITÉ, PRIO
VEĽKOST TYPU NÁZVU POUŽITÉ PRIO
/ dev / dm-3 oddiel 15,4G 307,1M -1
$

Voľba -show akceptuje zoznam hodnôt, ktoré predstavujú hlavičky stĺpcov. Ak chcete dosiahnuť konkrétne výstupné poradie, vyberte požadované hlavičky stĺpcov a ich postupnosť.

Výmena veľkosti

Spravidla sa veľkosť výmenného priestoru odporúča dvakrát viac, ako má systém fyzickú pamäť. Nezabudnite na to pri univerzálnych nastaveniach a stolných počítačoch. V prípade serverov UNIX / Linux s oveľa väčšou fyzickou pamäťou môžete zmenšiť veľkosť odkladacieho priestoru na 50% RAM. Notebooky, ktoré môžu prezimovať, musia byť o niečo väčšie ako fyzická pamäť.

Inštalácia

Pre odkladací oddiel sa odporúča myslieť na odkladací priestor hneď od začiatku rozdelenia disku na jednotlivé oddiely alebo ponechať dostatok nevyužitého miesta na disku na neskoršie použitie, prípadne. Počas konfigurácie použitých diskov sa vás rutina nastavenia zvyčajne opýta na veľkosť odkladacieho priestoru. Napríklad na Debiane GNU / Linux to vyzerá nasledovne:

Ako už bolo spomenuté vyššie, pokiaľ máte na pevnom disku priestor pre nové oddiely, môžete vytvárať a vkladať odkladacie oddiely pomocou príkazov ako fdisk a swapon.

Alternatívne je možné odkladací priestor povoliť aj neskôr ako odkladací súbor. Linux podporuje tento spôsob, aby ste ho mohli vytvárať, pripravovať a pripájať podobným spôsobom ako swapový oddiel. Výhodou tohto spôsobu je, že nemusíte rozdeľovať disk, aby ste pridali ďalší odkladací priestor.

Ako príklad vytvoríme súbor s názvom / swapfile s veľkosťou 512M a povolíme ho ako ďalší odkladací priestor. Najskôr pomocou príkazu dd vytvoríme prázdny súbor. Po druhé, mkswap používa tento súbor na transformáciu do swapového štýlu. Môžete si všimnúť, že s obsahom súboru sa zaobchádza ako s oddielom a je mu pridelený zodpovedajúci UUID. Po tretie, povoľujeme to pomocou swaponu. Nakoniec príkaz swapon -show zobrazí dve položky swapu - oddiel a novovytvorený súbor.

# dd if = / dev / zero of = / swapfile bs = 1024 count = 524288
524288 + 0 súborov údajov v
524288 + 0 dátových súborov
536870912 bajtov (537 MB) skopírovaných, 0,887744 s, 605 MB / s
# mkswap / swapfile
Nastavuje sa odkladací priestor verzie 1, veľkosť = 524284 KiB
žiadny štítok, UUID = e47ab7fe-5efc-4175-b287-d0e83bc10f2e
# swapon / swapfile
# swapon --show = NÁZOV, TYP, VEĽKOSŤ, POUŽITÉ, PRIO
VEĽKOSŤ TYPU NÁZVU POUŽITÁ PRIO
/ dev / dm-3 oddiel 15,4G 288,9M -1
/ súbor swapfile 512M 0B -2
#

Ak chcete tento odkladací súbor použiť v čase zavádzania, pridajte do súboru ako správca nasledujúci riadok / etc / fstab:

/ swapfile žiadny swap sw 0 0

Zakazuje sa výmenný priestor

Najmenej, ale nie naposledy, existuje opäť jeden príkaz na zakázanie odkladacieho súboru. Príkaz sa volá výmena. Vyžaduje jediný parameter, ktorý označuje, že má byť vymenené zariadenie zakázané. Tento príkaz zakáže predtým aktivovaný odkladací súbor:

# swapoff / swapfile

Tiež, výmena môže pracovať s UUID súborového systému. Vyrobiť výmena konať takto využiť možnosť -U za ktorým nasleduje UUID príslušného súborového systému. Možnosť, ak je potrebné vypnúť všetky odkladacie priestory naraz -a (dlhá možnosť - všetky) je celkom šikovná. Celý príkaz je výmena -a.

Vyladenie výmenného ekosystému

Počnúc vydaním jadra Linuxu 2.6 bola zavedená nová hodnota. Toto je uložené v premennej / proc / sys / vm / swappinessa riadi relatívnu váhu pripisovanú swapu z runtime pamäte, na rozdiel od vypúšťania pamäťových stránok z medzipamäte systémových stránok [2]. Predvolená hodnota je 60 (percento voľnej pamäte pred aktiváciou výmeny). Čím nižšia je hodnota, tým menej sa používa swapovanie a tým viac pamäťových stránok sa uchováva vo fyzickej pamäti.

Ak chcete dočasne nastaviť hodnotu, nastavte hodnotu v systéme súborov / proc takto:

# echo 10> / proc / sys / vm / swappiness

Ako alternatívu môžete použiť sysctl príkaz takto:

# sysctl -w vm.výmena = 10

Pre trvalé nastavenie hodnoty pridajte do súboru nasledujúci riadok / etc / sysctl.conf:

vm.výmena = 10

Je výmena stále aktuálna?

Môžete sa opýtať, prečo sa touto témou zaoberáme. Moderné počítače majú dostatok fyzickej pamäte - tak prečo sa o to musíme starať? Existuje niekoľko dôvodov, prečo táto technológia stojí za viac ako zamyslenie.

Nezabúdajte, že pri používaní zariadenia zostanete chvíľu, ale môžete občas aktualizovať softvér, ktorý na ňom používate. V súčasnosti sa hardvér aj softvér navzájom hodia. V budúcnosti sa to môže zmeniť a budete potrebovať viac pamäte, ako máte teraz. Ak nebudete inovovať alebo kupovať nový hardvér, oddiel Swap vám môže ušetriť trochu peňazí.

Možno ste už počuli o funkcii zvanej pozastavenie na disk alebo režim dlhodobého spánku [3]. Váš stroj ide spať. Predtým musí niekde uložiť svoj súčasný stav. Teraz prichádza na rad odkladací priestor a slúži ako kontajner na uchovávanie týchto údajov. Hneď ako sa stroj zobudí, keď sa nabudúce načítajú všetky údaje z miesta výmeny, načítajú sa do pamäte a môžete pokračovať v práci tam, kde ste predtým zastavili.

Ak má systém iba jedno trvalé úložné zariadenie, bude musieť vaše súbory čítať a zapisovať počas výmeny na rovnakom zariadení. Ak máte druhé zariadenie a dokážete ho vymeniť od konfliktných prístupov k súborom, uvidíte obrovské zlepšenie.

Výmenný súbor musí prenášať údaje cez systém súborov. To pridáva vrstvu nepriamosti, aby sa zdalo, že pre jadro existuje súvislý logický adresný priestor, s ktorým môže pracovať. To pridáva ďalšie cykly réžie a CPU pamäte. Najlepšie výsledky dosiahnete použitím surového odkladacieho oddielu.

Záver

Aj v dnešnej dobe sú znalosti týkajúce sa výmeny nevyhnutné. Táto téma je súčasťou vedomostí, ktoré sú potrebné na zloženie certifikátu Linux Professional Institute Level 1 (LPIC 1). Väčšina skúšok obsahuje jednu alebo dve otázky týkajúce sa tejto témy.

Výmenný priestor pomáha vášmu systému Linux (jadru) rýchlo usporiadať pamäť, ak je to potrebné. Aby ste boli u seba otvorení, miesto výmeny nie je nevyhnutne potrebné, ak má váš systém veľa pamäte RAM. V prípade núdze pomáha vášmu systému prežiť. Preto by som nikdy neopustil cestu tradičného nastavenia bez odkladacieho priestoru.

O kombinácii swapu a SSD sa diskutuje kontroverzne, pretože počet zápisov na disky je na SSD pomerne obmedzený. Zameniť aj dočasné súbory sú vytvorené na zápis veľkého množstva údajov. Na druhej strane moderné SSD majú viac ako dosť ďalšieho priestoru (7%) na zvládnutie zlyhania sektoru. Pre istotu: ak je to možné, majte na klasickom pevnom disku samostatný swap - nepoužívajte ramdisk ani SSD, aspoň na swap [4]. Váš systém Linux vám poďakuje za toto rozhodnutie.

Aby ste zabránili vloženiu odkladacieho priestoru na disk SSD, môžete namiesto toho použiť ZRAM [5,6]. Toto je Virtual Swap komprimovaný v RAM, tiež pomenovaný zSwap. Táto technológia umožňuje komprimované blokové zariadenie v pamäti. Len čo už nie je dostatok pamäte, prenesú sa pamäťové stránky do tohto blokovacieho zariadenia. To má za následok menšie využitie swapu a predĺženie životnosti pevného disku.

Odkazy a referencie

Séria správy pamäte Linux

Poďakovanie

Autor by chcel poďakovať Mandy Neumeyerovej a Geroldovi Rupprechtovi za podporu pri príprave tohto článku.

Hry Ako zobraziť prekrytie OSD v linuxových aplikáciách a hrách na celú obrazovku
Ako zobraziť prekrytie OSD v linuxových aplikáciách a hrách na celú obrazovku
Hranie hier na celú obrazovku alebo používanie aplikácií v režime rozptýlenia zadarmo na celú obrazovku vás môže odrezať od relevantných systémových i...
Hry Top 5 kariet na zachytávanie hier
Top 5 kariet na zachytávanie hier
Všetci sme videli a milovali streamovanie hier na YouTube. PewDiePie, Jakesepticye a Markiplier sú iba niektorí z najlepších hráčov, ktorí zarobili mi...
Hry Ako vyvíjať hru v systéme Linux
Ako vyvíjať hru v systéme Linux
Pred desiatimi rokmi by len málo používateľov Linuxu predpovedalo, že ich obľúbený operačný systém bude jedného dňa populárnou hernou platformou pre k...