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.
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ó
e cikk vagy szakasz ténybeli pontossága vitatott.
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 82
tí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
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.
- 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.
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).
manuálisan
swap fájl létrehozása
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
á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.
- 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 a
discard,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
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.conf
Cserefá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.
- 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 aswapfc_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.
/proc
sokkal 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.