Mi az a swap és hogyan használd Linux Mint-en? – 1. rész.

Ahogyan egyre több RAM memória válik elérhetővé, fel lehet tenni a kérdést, hogy miért kell a swap Linuxon? A swap egyszerűen a RAM memória tehermentesítésére van kitalálva, de szükség van még rá? Ebben a cikkben megtalálható a válasz.

A swap-ot akkor használja a Linux amikor több RAM memóriára van szüksége a rendszernek. Ez esetben a kernel áthelyez valamennyi RAM memória oldalakat a swap fájlba vagy partícióba ami a háttértárolón található.

Amennyiben régi típusú HDD háttértárolót használsz, lassú lesz a swappolás, de az újabb SSD és NVMe háttértárolók esetében jelentősen és gyorsan tehermentesíthető a rendszer ami így – nem eredményez lényegi lassulást.

A swap céljai Linux rendszeren

Kezdjünk az alapoknál, azaz hogy mi az a swap és miért van rá szükséged.

Mi az a swap Linux-on?

Linux rendszereken a swap általában egy dedikált partíció vagy fájl ami azért lett létrehozva hogy tehermentesítse a fizikai RAM-ot. Amikor a RAM megtelt, a rendszer valamennyi memória tartalmat fog áthelyezni, inaktív applikációkat a swap partícióra vagy swapfájl-ba.

A mai modern számítógépes rendszereken rengeteg olyan applikáció van amelyek erőforrásigényesek: a böngésző minden újabb oldal megnyitásával memóriát foglal, ahogyan az antivírus is és egyéb rendszer komponensek. A kernel egy komplex algoritmus felhasználásával dönti el, hogy milyen program, milyen prioritással mennyi memóriához juthat.

Ha a számítógépednek kevés RAM memóriája van, akkor az alacsony prioritású és inaktív applikációkat a Linux kernel a swap-ra helyezi.

Mi a swap partíció vagy fájl szerepe?

Ahogyan már le lett írva a swap partíció vagy fájl egy memória tároló a Linux rendszer részére. A futó applikációk ideiglenesen tárolhatnak fájlokat és adatokat szükség szerint. A swap a merevlemezen található, tehát lassabb a hozzáférés az adatokhoz mint a RAM memóriában.

Egyes esetekben a swap partíció vagy fájl megléte segítheti a rendszert az alvó állapot, vagy a hibernálási funkcionalitásokban, így indítás esetén gyorsan fel tud állni a rendszer.

Hogyan használja a Linux a swap partíciót vagy fájlt?

Most ahogyan fentebb le lettek írva az alapok, feltevődik a kérdés, hogy tényleg szükséged-e van swap-ra? Ha igen akkor mennyire?

Mikor használandó a swap Linuxon?

A módszer amely szerint a Linux swappol nem olyan egyszerű mint egy "HA a memória használata > 90% AKKOR swap". Sajnos e cikk keretein túlmutat a Linux kernel swappoló algoritmusa, de a következő a lényeg:

  • A kernel figyeli a RAM memória használatát, azaz hogy mennyi helyhozzáférési kérés érkezik
  • Ha a hozzáférési kérések száma magas, a kernel a swappolás mellett dönt
  • A swappolási eljárás azt jelenti, hogy a rendszer egyes memória részeket a merevlemezre ment ideiglenesen (a swap partícióra vagy fájlba) és így RAM memóriát szabadít fel.

Természetesen az elérhető beépített RAM memória nagysága is szerepet játszik. Ha pl. 128 GB RAM memória van jelen és a rendszer csak 4 GB-ot használ, még ha több helyhozzáfárási kérés is érkezik a Linux kernelhez, nem fogja a swapot használni, mert ez csak lassítaná a rendszert.

A következő részben arról lesz szó, hogy hogyan lehet beállítani a Linux swappolási igényeit és hogy ez hogyan javíthat a rendszer teljesítmény.

(forrás)

Hozzászólások

Mi az a swap és hogyan használd Linux Mint-en?

Értékelés: 

0
Még nincs értékelve

Jelenleg a gépemben 16 GiB RAM van, mégis használja a rendszer a swapfájlt nagy terhelés esetén (videókonvertálás, Audacity), úgyhogy szerintem mindig szükség van valamennyi memóriabővítésre. A swapfájl mérete 1,8 GiB, amit a telepítő hozott létre LM 20.3-on.

csuhas32 képe

16 GiB RAM van, mégis használja a rendszer a swapfájlt

Értékelés: 

0
Még nincs értékelve

#1 Mit kapsz a

cat /proc/sys/vm/swappiness

parancsra?

Én arra tippelek, hogy 60-at. Ezért használja a swapet a rendszered már akkor amikor a rendelkezésre álló RAM 40%-a betelik, azaz amikor 6,4 GB RAM foglalt és ez bizony hamar bekövetkezhet, ehhez azért nem kell olyan nagyon extrém nagy igénybevétel.
Szerintem azért van a gépünkben a RAM, hogy használjuk, szóval én a swappiness értékét át szoktam állítani 10-re. Ha jól tudom, ebben az esetben 14,4 GB RAM-foglaltság körül kezdené el használni a rendszered a cserehelyet, azaz sokkal ritkábban, szinte soha. Hogy ennyi RAM-használatot elérj, ahhoz már sokkal jobban igénybe kell venni a rendszert. Ezzel tehermentesítenéd a lemezt, hisz feleslegesen irkál rá a rendszer, dolgozik pluszban, helyez át adatokat a RAM-ból a swap-ba, aztán figyelheti a RAM-ot és a swap-et is, közben meg ott hever kihasználatlanul a RAM a rengeteg szabad hellyel, szóval dolgozhatna vidáman csak a RAM-ból még nagyon sokáig.

Szerk. Talán ez is beszédes:
Ha most nálad 60-on van a swapinness értéke, akkor a 16 GB RAM-od dacára a rendszered már 6,4 GB RAM-használat körül elkezdi a swapet használni. míg az én 8 GB RAM-mal rendelkező gépem a swapinness 10-es értéke miatt ugyanezt csak 7,2 GB elérése tájékán teszi meg. Vagyis megeshet, hogy fele annyi RAM-om van, a rendszerem mégis később kezd el cserehelyet használni, mint a tiéd.

Néha érdemes egy

watch free -m

parancsot kiadni, a terminálablakot felülre helyezni és letolni valamelyik sarokba, figyelni, hogy miként használja a rendszerünk a RAM-ot, swap-et, ezzel is szerezhetünk tapasztalatot.

16 GiB RAM van, mégis használja a rendszer a swapfájlt

Értékelés: 

0
Még nincs értékelve

#1.1 A cat /proc/sys/vm/swappiness valóban 60-at ír ki. Szoktam nézegetni az erőforráshasználatot, és nagy terhelés esetén a RAM gyorsítótárazás felmegy 14 GiB-ra is, swapot mégis használ a rendszer.