.


[*]
[*]
[*]

[*]
index


Swap terület létrehozása

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:
\begin{tscreen}
\verb*\vert$\vert {\sl dd if=/dev/zero of=/extra-swap bs=1024 co...
...vert \\
\verb*\vert 1024+0 records out\vert \\
\verb*\vert$\vert
\end{tscreen}
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:
\begin{tscreen}
\verb*\vert$\vert {\sl mkswap /extra-swap 1024} \\
\verb*\vert Setting up swapspace, size = 1044480 bytes\vert \\
\verb*\vert$\vert
\end{tscreen}
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

[*]
Linux rendszeradminisztrátorok kézikönyve (első javított változat; SAG-HU 0.6b1)