Swap

Ez az oldal bevezetést nyújt a Swap tér és a lapozás GNU / Linux rendszeren. Ez magában foglalja létrehozása és aktiválása swap partíciókat és swap fájlokat.

Az All about Linux swap space:

Linux osztja a fizikai RAM (random access memory) darabokra memória nevű oldalak. A csere az a folyamat, amelynek során a memória egy oldalát átmásolják a merevlemez előre konfigurált helyére, úgynevezett swap space, a memória oldalának felszabadításához. A fizikai memória és a cseretér együttes mérete a rendelkezésre álló virtuális memória mennyisége.

a swap támogatását az util-linux csomag Linux kernel és user-space segédprogramjai biztosítják.

Swap space

a swap space lemezpartíció vagy fájl formájában lehet. A felhasználók létrehozhatnak egy swap helyet a telepítés során, vagy bármikor később a kívánt módon. A Swap space két célra használható, a virtuális memória kiterjesztésére a telepített fizikai memórián (RAM) túl, valamint a lemezre történő felfüggesztésre.

ha hasznos a virtuális memória kiterjesztése swap segítségével, a telepített fizikai memória mennyiségétől függ. Ha a fizikai memória mennyisége kisebb, mint az összes kívánt program futtatásához szükséges memória mennyisége, akkor hasznos lehet a csere engedélyezése. Ezzel elkerülhető a memória állapota, ahol a Linux kernel OOM killer mechanizmus automatikusan megpróbálja felszabadítani a memóriát megölésével folyamatokat. A virtuális memória mennyiségének a szükséges összeghez való növeléséhez adja hozzá a szükséges különbséget (vagy többet) swap-helyként.

a swap engedélyezésének legnagyobb hátránya az alacsonyabb teljesítmény, lásd a #Performance részt. Ezért a swap engedélyezése személyes preferencia kérdése: egyesek a programok miatt ölték meg, amely lehetővé teszi, művészet, mások inkább lehetővé teszi, művészet, lassabb rendszer, ha a fizikai memória kimerült.

megjegyzés: nincs teljesítménybeli különbség a swap partíció és a szomszédos swap fájl használata között.

a csere állapotának ellenőrzéséhez használja:

$ swapon --show

vagy fizikai memória, valamint swap használat megjelenítése:

$ free -h

Swap partíció

Tango-pontatlan.pnge cikk vagy szakasz ténybeli pontossága vitatott.Tango-pontatlan.PNG

ok: 82 a SWAP partíció típusa az MBR-n, nincs swap partíció autodetection az MBR-n. / TRIM parancsok swap partíciók úgy tűnik, hogy automatikusan kiadja a Kernel, ha támogatott lásd Fedora telepítési útmutatók. (Beszélje meg a Talk: Swap # tisztázza swap discovery)

a swap partíció hozható létre a legtöbb GNU / Linux particionáló eszközök. A Swap partíciókat általában 82típusként jelölik. Annak ellenére, hogy bármilyen partíciótípust swap-ként lehet használni, ajánlott a 82 típus használata a legtöbb esetben, mivel a systemd automatikusan felismeri és csatlakoztatja (lásd alább).

a partíció Linux swap területként történő beállításához az mkswap (8) parancsot kell használni. Például:

# mkswap /dev/sdxy
figyelmeztetés: a megadott partíció összes adata elveszik.

a lapozáshoz szükséges eszköz engedélyezéséhez:

# swapon /dev/sdxy

a swap partíció indításkor történő engedélyezéséhez adjon hozzá egy bejegyzést a /etc/fstab:

UUID=device_UUID none swap defaults 0 0

ahol a device_UUID a swapterület UUID-ja.

lásd fstab a fájl szintaxisát.

Megjegyzés:

  • az fstab-bejegyzés opcionális, ha a swap partíció egy GPT-t használó eszközön található. Lásd a következő alfejezetet.
  • ha TRIM támogatással rendelkező SSD-t használ, fontolja meg a discard használatát az fstab swap sorában. Ha manuálisan aktiválja a swap-ot a swaponnal, akkor a -d--discard paraméter ugyanazt éri el. Lásd swapon(8) a részletekért.
: Az mdadm használatával történő RAID-beállítások elvetésének engedélyezése rendszerzárat okoz a rendszerindításkor és futásidőben, ha swapon-t használ.

a systemd

systemd aktiválása két különböző mechanizmus alapján aktiválja a swap partíciókat. Mindkettő végrehajtható /usr/lib/systemd/system-generators. A generátorok indításkor futnak, és natív systemd egységeket hoznak létre a tartókhoz. Az első, systemd-fstab-generator, beolvassa az fstab generálni egységek, köztük egy egység swap. A második, systemd-gpt-auto-generator ellenőrzi a gyökérlemezt egységek létrehozásához. Ez működik a GPT lemezek csak, és képes azonosítani swap partíciókat típusuk GUID, lásd systemd # GPT partíció automatancing további információért.

Swap letiltása

adott swapterület kikapcsolásához:

# swapoff /dev/sdxy

Alternatív megoldásként használja a -a kapcsolót az összes swapterület kikapcsolásához.

mivel a swap-ot a systemd kezeli, a következő rendszerindításkor ismét aktiválódik. Az észlelt swapterület automatikus aktiválásának végleges letiltásához futtassa a systemctl --type swap parancsot a felelős megtalálásához .cseréld ki az egységet és maszkold el.

Swap file

a teljes partíció létrehozásának alternatívájaként a swap fájl lehetővé teszi méretének változtatását menet közben,és könnyebben eltávolítható. Ez különösen akkor lehet kívánatos, ha a lemezterület prémium (például szerény méretű SSD).

figyelmeztetés: a Btrfs támogatja a swap fájlt korlátozásokkal, mivel a Linux kernel 5.0 verziója. További információkért lásd a Btrfs#Swap fájlt.

manuálisan

swap fájl létrehozása

Megjegyzés: Ha Btrfs-t használ, először kövesse a Btrfs#Swap fájlban leírt eljárást a swap fájl inicializálásához.

használja a dd-t a választott méretű swap fájl létrehozásához. Például egy 512 MiB swap fájl létrehozása:

# dd if=/dev/zero of=/swapfile bs=1M count=512 status=progress
megjegyzés: a DD használata a swap fájl kiosztásához a leginkább hordozható megoldás, lásd swapon(8) § lyukak a részletekért.

állítsa be a megfelelő engedélyeket (a világ által olvasható swap fájl egy hatalmas helyi biztonsági rés):

# chmod 600 /swapfile

a megfelelő méretű fájl létrehozása után formázza azt swap:

aktiválja a swap fájlt:

# swapon /swapfile

végül szerkessze az fstab konfigurációt a swap fájl bejegyzéséhez:

/etc/fstab
/swapfile none swap alapértelmezett értéke 0

További információ, lásd fstab#használat.

Megjegyzés:

  • a swap fájlt a fájlrendszeren található hely alapján kell megadni, nem pedig az UUID vagy a címke alapján.
  • a Btrfs használatakor ne felejtse el hozzáadni a létrehozott alfeszültséget a listához, valamint távolítsa el adiscard,autodefrag és a tömörítési lehetőségeket.

swap fájl eltávolítása

a swap fájl eltávolításához először ki kell kapcsolni, majd el lehet távolítani:

# swapoff /swapfile# rm -f /swapfile

végül távolítsa el a vonatkozó bejegyzést a/etc/fstab.

automatizált

zram-generátor

ennek az eszköznek a célja a zram eszközök létrehozása. Ruszt nyelven íródott és a systemd Githubjában található. Telepíthető a zram-generatorAUR csomaggal.A Konfigurálás egyszerű, a README-ben ismertetjük.

systemd-swap

Megjegyzés: A szerző most azt javasolja, hogy a zram-generator helyett az alacsony commit frekvencia és a zram, amely a legtöbb felhasználó igényeit fedezi.

systemd-swap egy script létrehozására hibrid swap helyet zram SWAP, swap fájlokat és swap partíciókat. Nem áll kapcsolatban a systemd projekttel.

telepítse a systemd-swap csomagot. swapfc_enabled=1 A/etc/systemd/swap.confCserefájlban. Indítsa el / engedélyezze a systemd-swap szolgáltatást.

látogassa meg a szerzők GitHub oldalt további információkért és az ajánlott konfiguráció beállításához.

Megjegyzés:

  • Ha a napló a következő figyelmeztetést jeleníti meg: systemd-swap: WARN: swapFC: ENOSPC és nincs swap fájl létrehozása, akkor ki kell bontania és be kell állítania a swapfc_force_preallocated=1/etc/systemd/swap.conf.
  • a systemd-swap által létrehozott swap fájl nem használható könnyen hibernálásra. Lásd systemd-swap probléma 85.

Swap titkosítás

lásd dm-crypt / Swap titkosítás.

teljesítmény

a Swap műveletek általában lényegesen lassabbak, mint a RAM-ban lévő adatok közvetlen elérése. Letiltása swap teljesen teljesítményének javítása esetenként lebomlás, mivel csökkenti a rendelkezésre álló memória a VFS cache, ami gyakoribb, költséges lemez i/O

Swap értékeket lehet beállítani, hogy segítsen teljesítmény:

Swappiness

A swappiness sysctl paraméter jelöli a kernel előnyben (vagy elkerülése), a swap terület. A Swappiness értéke 0 és 200 között lehet (max 100, ha Linux < 5.8), az alapértelmezett érték 60. Az alacsony érték miatt a kernel elkerüli a cserét, a magas érték miatt a kernel megpróbálja használni a swap helyet, a 100-as érték pedig azt jelenti, hogy az IO költsége egyenlő. Alacsony érték használata elegendő memóriában ismert, hogy javítja az érzékenységet számos rendszeren.

az aktuális swappiness érték ellenőrzéséhez:

$ sysctl vm.swappiness

Alternatív megoldásként a /sys/fs/cgroup/memory/memory.swappiness vagy /proc/sys/vm/swappiness fájlok olvashatók a nyers egész érték elérése érdekében.

Megjegyzés: Mivel a /procsokkal kevésbé szervezett, és csak kompatibilitási okokból tartják fenn, ezért javasoljuk, hogy helyette a /sys – ot használja.

a swappiness érték ideiglenes beállításához:

# sysctl -w vm.swappiness=10

a swappiness érték végleges beállításához hozzon létre egy sysctl-t.d (5) konfigurációs fájl. Például:

/etc/sysctl.d / 99-swappiness.conf 
 vm.swappiness=10 

a teszteléshez és még több, hogy ez miért működhet, vessen egy pillantást erre a cikkre.

VFS gyorsítótár nyomás

egy másik sysctl paraméter, amely befolyásolja swap teljesítmény vm.vfs_cache_pressure, amely szabályozza a tendencia, hogy a kernel, hogy visszaszerezze a memória, amely használt gyorsítótár a VFS gyorsítótár, versus pagecache és swap. Ennek az értéknek a növelése növeli a VFS gyorsítótárak visszanyerésének sebességét. További információkért lásd a Linux kernel dokumentációját.

prioritás

Ha egynél több swap fájl vagy swap partíció van, akkor fontolja meg egy prioritási érték (0-32767) hozzárendelését minden swap területre. A rendszer nagyobb prioritású swap területeket fog használni az alacsonyabb prioritású swap területek használata előtt. Ha például van gyorsabb lemeze (/dev/sda) és lassabb lemeze (/dev/sdb), rendeljen nagyobb prioritást a leggyorsabb eszközön található swap területhez. A prioritások hozzárendelhetők az fstab-ban a pri paraméter:

/dev/sda1 none swap defaults,pri=100 0 0/dev/sdb2 none swap defaults,pri=10 0 0

vagy a --priority paraméteren keresztül:

# swapon --priority 100 /dev/sda1

ha két vagy több terület azonos prioritással rendelkezik, és ez a rendelkezésre álló legmagasabb prioritás, az oldalakat körkörösen osztják el közöttük.

használata zswap vagy zram

Zswap egy Linux kernel funkció, amely egy tömörített write-back cache cserélt oldalak. Ez növeli a teljesítményt és csökkenti az IO-műveleteket. ZRAM létrehoz egy virtuális tömörített Swap-fájl a memóriában alternatívájaként swapfile lemezen.

csíkozás

nincs szükség RAID használatára swap teljesítmény okokból. Maga a kernel több eszközön is képes csíkot cserélni, ha csak ugyanazt a prioritást adja meg nekik a /etc/fstab fájlban. Lásd a szoftver-RAID HOWTO részleteket.

Related Posts

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük