A swap fájl egy közönséges fájl; a kernel sem kezeli speciális
módon. Az egyetlen, ami számít a kernelnek, hogy ez a fájl ne
tartalmazzon lyukakat, és elő legyen készítve a mkswap
paranccsal. Mindenesetre helyi lemezen kell legyen; megvalósítási
okokból nem lehet NFS-en keresztül csatlakoztatott lemezen.
A lyukmentesség nagyon fontos. A swap fájl úgy foglalja le a
területet, hogy a kernel gyorsan ki tudjon tenni egy lapot egy új
szektor foglalásának hosszadalmas művelete nélkül. A lyuk esetén
viszont a fájl adott részéhez nem tartozik lemezterület, így az a rész
nem használható a swap-pelés céljára.
Lyukak nélküli swap fájl létrehozásának egyik jó módja:
ahol /extra-swap a swap fájl neve, a mérete pedig a
count= után van megadva (jelen példánkban
kilobájtban). Célszerű 4 kB egész számú többszörösét venni méretnek,
mert a Linux memória lapjainak mérete 4 kB, és a swappelés
ilyen egységekben történik. Ha a méret ennek nem többszöröse, az
utolsó pár kilobájt kihasználhatatlan lesz.
A swap partíció sem különleges semmiféle szempontból. Úgy kell
létrehozni, mint bármely más partíciót; az egyetlen különbség, hogy
nyersen, azaz fájlrendszer nélkül használjuk. Jó, ha a swap
partíció `82'-es típusú (Linux swap), ez világosabbá teszi a partíciós
táblát. A kernel nem figyeli a partíció típusát, tehát használhatunk
nem ilyen típusút is swap célokra. (Igaz, ez csökkentheti a rendszer
áttekinthetőségét.)
A swap fájl vagy partíció létrehozása után egy megjelölést kell az
elejére írni, ami a kernel által használt adminisztratív információt
tartalmaz. Ezt a mkswap parancs végzi el:
Jegyezzük meg, hogy mindezek után még nincs használatban a swap terület;
létezik ugyan, de a kernel nem használja virtuális memóriaként.
Óvatosan bánjunk az mkswap paranccsal, mert nem ellenőrzi, hogy
a fájlt vagy partíciót használjuk-e más célra. Fontos fájlok és
partíciók könnyen felülírhatók az mkswap paranccsal!
Szerencsére, ezen parancsot csak a rendszer telepítésekor kell használni.
A Linux memóriakezelője a swap terület méretét kb. 127 MB-ben
korlátozza. (Technikai okokból a pontos érték:
(4096-10) x
8 x 4096 = 133890048 bájt, azaz 127.6875 megabájt.) Viszont akár
16 swap terület használható párhuzamosan, így majdnem 2 GB a swap-nek
használható összterület Linux alatt.5.2
|