A swap terület hozzáadása a szerverhez kiváló lehetőség a memóriahiányból adódó hibák kompenzálására. Linux lehetővé teszi a felhasználók számára, hogy swap területet adjanak a rendszerükhöz, amikor a rendszerben lévő RAM megtelik. Ha létrehoz egy dedikált partíciót, lehetővé teszi a fizikai memória zökkenőmentes működését anélkül, hogy sokat kellene aggódnia az alacsony lemezterület miatt.
Swap áttekintés
A Linux swap területe a gép virtuális memóriájának egy része, amelyet akkor használ, amikor a fizikai memória elfogy. Különösen nagy programokkal vagy alkalmazásokkal való munka során, amikor extra memóriára van szükség, a swap terület ideális választás az átmenetileg inaktív memórialapok tárolására. A swap terület létrehozása lehetővé teszi a felhasználók számára az adatok tárolását nagy programok futtatásakor, és ezáltal csökkenti az alkalmazások összeomlását. Ez azt jelenti, hogy ha a rendszernek több memóriaforrásra van szüksége, és a RAM megtelt, a memóriában lévő összes inaktív lap átkerül a swap területre, és a programok zavartalanul futhatnak.
Mennyi swap területre van szükségem?
A swap terület mérete több tényezőtől függ. Ezek közé tartozik a rendelkezésre álló RAM, a terhelés, valamint az, hogy a rendszernek támogatnia kell-e a hibernálás (lemezre felfüggesztés) funkciót. Az alábbi táblázat segítségével ellenőrizheti az ajánlott swap területet a RAM-ban rendelkezésre álló hely alapján:
|
Sorszám |
Rendelkezésre álló RAM |
Ajánlott swap terület |
|
1. |
1GB |
1GB |
|
2. |
2GB |
1GB |
|
3. |
3GB |
2GB |
|
4. |
4GB |
2GB |
|
5. |
5GB |
2GB |
|
6. |
6GB |
2GB |
|
7. |
8GB |
3GB |
Ebben az útmutatóban végigvezetjük a swap terület hozzáadásának lépésein Ubuntu 20.04 rendszeren. Kezdjük el!
Előfeltételek
Az útmutató követéséhez a következőkre lesz szüksége:
- Telepített Ubuntu a rendszerén.
- Nem root felhasználói fiók beállítva sudo jogosultságokkal a gépén.
1. lépés: Swap információk ellenőrzése
A swap terület mérete a rendszer RAM-jától függ. Ezért elengedhetetlen a swap terület elérhetőségének ellenőrzése a rendszerben, mielőtt létrehozna egyet. Írja be az alábbi parancsot annak ellenőrzésére, hogy a rendszer rendelkezik-e konfigurált swappel:
|
1 |
$ sudo swapon --show |
Ha megjelenik kimenet, az azt jelenti, hogy van szabad hely a rendszerben swap terület létrehozásához. Ha azonban nincs kimenet, az azt jelzi, hogy nincs elég rendelkezésre álló hely swap terület hozzáadásához.
Használja a free eszközt annak ellenőrzésére, hogy nincs aktív swap:
|
1 |
$ free -h |
A kimenetben egy üres swap sort fog látni:
2. lépés: Merevlemez-partíció elérhetőségének ellenőrzése
A rendszer elérhetőségének ellenőrzéséhez hasonlóan most ellenőrizzük a jelenlegi lemezhasználatot, hogy megbizonyosodjunk arról, hogy van elég helyünk. Használja a df parancsot a merevlemez-partíció elérhetőségének ellenőrzéséhez:
|
1 |
df -h |
Az eszköz, amelynél a / szerepel a Csatolási pont oszlopban, a mi lemezünk, amely 11% szabad hellyel rendelkezik. A kimenet a következő lesz:
A rendszerkövetelmények ellenőrzése után lépjünk tovább, és hozzunk létre egy swap fájlt a fájlrendszerünkön.
3. lépés: Swap fájl létrehozása
Ahhoz, hogy swap fájlt hozzunk létre a fájlrendszerünkön, foglaljunk le egy fájlt swapfile névvel a gyökér (/) könyvtárban a fallocate program segítségével. A fájlméret lefoglalása az Ön igényeitől függ. Hogy az útmutató egyszerű és könnyen érthető maradjon, egy 1G méretű fájlt hozunk létre, és 1G RAM-ot dedikálunk. Használja a sudo parancsot a swap fájl létrehozásához:
|
1 |
sudo fallocate -l 1G /swapfile |
Ezután írja be ezt a parancsot a lefoglalt hely ellenőrzéséhez:
|
1 |
$ ls -lh /swapfile |
Most, hogy létrehoztuk a swap területet a rendszerünkben, a következő lépésben engedélyezzük azt.
4. lépés: A swap fájl engedélyezése
Miután rendelkezésre áll a megfelelő méret, alakítsuk át swap területté. Biztonsági okokból kulcsfontosságú, hogy a fájlunkat csak a root felhasználók számára tegyük elérhetővé, és megakadályozzuk a normál felhasználók hozzáférését. Korlátozásokat adunk hozzá, hogy csak a root jogosultságokkal rendelkező felhasználók láthassák a fájlt és olvashassák annak tartalmát. Használja a következő root parancsot, hogy a fájl csak a root felhasználók számára legyen elérhető:
|
1 |
sudo chmod 600 /swapfile |
Ezután használja az ls parancsot a változtatások ellenőrzéséhez:
|
1 |
$ ls -lh /swapfile |
Amint látható, csak a root felhasználó rendelkezik engedélyezett olvasási és írási jogokkal:
Ezután jelölje meg a fájlt swap területként:
|
1 |
sudo mkswap /swapfile |
A kimenet a következő lesz:
Ezután engedélyezze a swap fájlt, és tegye lehetővé a rendszer számára a használatát:
|
1 |
sudo swapon /swapfile |
Ezután ellenőrizze a swap elérhetőségét:
|
1 |
$ sudo swapon --show |
A következő kimenetet fogja látni:
Ahogy azt a(z) 1. lépésben tettük, ismét ellenőrizni fogjuk a free segédprogram szabad helyét:
|
1 |
free -h |
A következő kimenetet fogja látni:
A swap sikeresen beállításra került, és az operációs rendszerünk szükség szerint elkezdi használni. A következő lépésben véglegessé tesszük a swap fájlt.
5. lépés: A swap fájl véglegessé tétele
Alapértelmezés szerint a szerver nem őrzi meg automatikusan a swap beállításokat újraindításkor. Az alapértelmezett beállítások módosításához és a biztonság kedvéért hozzáadjuk a swap fájlt az /etc/fstab fájlunkhoz. Használja a sudo parancsot az /etc/fstab fájl biztonsági mentéséhez:
|
1 |
sudo cp /etc/fstab /etc/fstab.bak |
Ezután adja hozzá a swap fájl információit az /etc/fstab fájl végéhez a következő beírásával:
|
1 |
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab |
Ezután tekintsünk át néhány beállítást, és végezzünk módosításokat a swap terület finomhangolásához.
6. lépés: A swap beállításainak módosítása
Ebben a lépésben konfiguráljuk a beállításokat és elvégzünk néhány módosítást. Állítsuk be a swappiness tulajdonságot, és módosítsuk a cache nyomást.
-
A Swappiness tulajdonság beállítása
A swappiness paraméter egy finomhangolható rendszermag (kernel) paraméter. Megváltoztatja a futásidejű memória kiszervezése közötti egyensúlyt, és szabályozza az adatok cseréjét a RAM és a swap terület között. Ez a paraméterérték százalékban van kifejezve, 0-tól 100-ig terjedhet.
A vm.swappiness érték közvetlen hatással van a rendszer swappiness viselkedésére. Minél magasabb a vm.swappiness, annál többet fog a rendszer swapelni, és fordítva. Ha az érték közel van a nullához, a kernel nem fog adatokat swapelni, ami a teljesítmény csökkenéséhez vezethet. Ha lehetővé teszi, hogy a rendszer ne függjön túlságosan a swaptől, az kiváló módja a teljesítmény növelésének és a gyorsabb válaszidő elérésének.
Másfelől, a 100-hoz közelebbi vm.swappiness érték arra törekszik, hogy több adatot helyezzen el a swapben, és kevesebbet a fizikai memóriában. Az alacsony vagy közepes vm.swappiness értékkel ellentétben a magas szintű swapelésnek nagyon nemkívánatos hatásai vannak, amikor nagy mennyiségű adat cserélődik aktívan a RAM és a swap között.
Ellenőrizze az aktuális swappiness értéket a következő beírásával:
|
1 |
cat /proc/sys/vm/swappiness |
A következő kimenetet fogja látni:
A swappiness értékét tetszés szerint is beállíthatja a sysctl paranccsal. Állítsuk be a swappiness értékét 15-re a következő beírásával:
|
1 |
sudo sysctl vm.swappiness = 15 |
A következő kimenetet fogja látni:
A rendszer újraindításáig a beállítások változatlanok maradnak. Adja hozzá a sort az /etc/sysctl.conf fájlhoz, hogy az érték automatikusan beállításra kerüljön újraindításkor:
|
1 |
sudo nano /etc/sysctl.conf |
A következő kódot adhatja hozzá a fájl aljához:
|
1 |
Vm.swappiness = 15 |
Ezután mentse el és zárja be a fájlt.
-
A Cache Pressure (gyorsítótár-nyomás) beállítása
Ezután módosítani fogjuk a vfs_cache_pressure értéket, amely az inode és dentry információkat fogja előnyben részesíteni más adatokkal szemben. Ezek a vfs_cache_pressure beállítások szintén szabályozzák a kernel azon hajlamát, hogy visszakövetelje a könyvtárak gyorsítótárazására használt memóriát. Navigáljon ismét a proc fájlrendszerbe az aktuális érték ellenőrzéséhez:
|
1 |
cat /proc/sys/vm/vfs_cache_pressure |
A következő kimenetet fogja látni:
Mivel a konfiguráció már megtörtént, a rendszerünk eltávolítja az inode információkat a gyorsítótárból. Állítsuk be a sysctl vm.vfs_cache_pressure értékét egy stabilabb beállításra, például így:
|
1 |
sudo sysctl vm.vfs_cache_pressure = 60 |
A következő kimenetet fogja látni:
A swappiness beállításhoz hasonlóan itt is módosíthatjuk a konfigurációt:
|
1 |
sudo nano /etc/sysctl.conf |
A lap alján szúrjon be egy sort, amely jelzi a létrehozott új értéket:
|
1 |
Vm.vfs_cache_pressure = 60 |
Végül mentse el és zárja be a fájlt.
Összegzés
A cserehelyet (swap) hozzáadhatja dedikált cserepartícióként, cserefájlként vagy a kettő kombinációjaként. Létrehozhat cserehelyet, és kihasználhatja annak előnyeit az alkalmazások zökkenőmentes futtatásához, anélkül, hogy aggódnia kellene a kevés memória miatti (out-of-memory) figyelmeztetések miatt. Bár a cserehely létrehozása előnyt jelent a korlátozott memóriával rendelkező rendszerekben, nem szabad a több RAM alternatívájaként kezelni. Ne feledje, a cserehely a merevlemezen található, ezért a fizikai memóriához képest kissé lassabb elérési időt tapasztalhat.
Íme további útmutatók a blogunkon, amelyek segítenek elindulni az Ubuntu szervereivel:
- NFS csatolás beállítása Ubuntu 20.04-en
- Nginx telepítése Ubuntu 18.04-en
- Tűzfal konfigurálása UFW-vel Ubuntu 18.04-en
Kellemes számítógép-használatot!










Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.