.


[*]
[*]
[*]

[*]
index


A swap terület használata

Egy előkészített swap területet a swapon  paranccsal tudunk aktívvá tenni. Ez mondja meg a kernelnek, hogy ezután ezt a területet is használhatja swap célokra. Argumentumként meg kell adni a swap terület elérési útját, mint azt a következő példa mutatja az előzőleg előkészített swap fájl esetére:
\begin{tscreen}
\verb*\vert$\vert {\sl swapon /extra-swap} \\
\verb*\vert$\vert
\end{tscreen}
A swap területek automatikusan is használatba vehetők ha megfelelő módon felsoroljuk őket a /etc/fstab  fájlban:
\begin{tscreen}
\verb*\vert/dev/hda8 none swap sw 0 0\vert \\
\verb*\vert/swapfile none swap sw 0 0\vert
\end{tscreen}
Az intídó szkriptek lefuttatják a swapon -a parancsot, ami a /etc/fstab -beli swap területeket használatba veszi. Ezért általában a swapon  parancsot kézzel csak extra swap terület bekapcsolásakor kell kiadni.

A swap területeket a free  paranccsal lehet megfigyelni, ami megmondja, mennyi swap terület van használatban:
\begin{tscreen}
\verb*\vert$\vert {\sl free} \\
\verb*\vert total used free sha...
... \\
\verb*\vert Swap: 32452 6684 25768\vert \\
\verb*\vert$\vert
\end{tscreen}

A kimenet első sora (Mem:) a fizikai memóriát mutatja. A total oszlop nem jelzi ki a kernel által használt területet, ami általában kb. 1 MB. A used oszlop a használt memória mennyiségét mutatja. A free oszlop a teljesen használaton kívüli memóriát mutatja. A shared oszlopban a több processz által közösen használt memóriaterület nagyságát láthatjuk; minél nagyobb, annál jobb. A buffers oszlopban pedig a lemez cache pufferének méretét mutatja meg a parancs.

A második sor két bejegyzése a megfelelő oszlopok pufferek nélküli méreteit mutatja; ez kicsit jobban jellemzi az igaziból használt illetve szabad terület nagyságát, mert a Linux a pufferméretet az igényeknek megfelelően dinamikusan állítja.

Az utolsó sor (Swap:) hasonlít az elsőre, csak a swap területre vonatkozik, és nem a fizikai memóriára. Ha ez csupa nullákból áll, a swap terület nincs aktiválva.

Ugyanez érhető el a top -on, vagy a /proc/meminfo  fájlon keresztül. Pillanatnyilag körülményes egy megadott swap területről információt szerezni, ha több is van belőlük.

A swap területek kikapcsolhatók a swapoff  paranccsal. (Természetesen ezt csak ideiglenes swap terület esetén szokás kézzel csinálni.) Az argumentumként megadott swap területről a lapokat a rendszer beolvassa a fizikai memóriába, vagy ha ott nincs elég hely, akkor egy másik swap területre ki is lapozza egyből. Ha nem lenne elég virtuális memória a kiszedett lapok elhelyezésére, a Linux szemetelni kezd; egy adott idő múlva ez helyrehozható, de addig a rendszer használhatatlan. Célszerű inkább előre megnézni (használva a free parancsot), hogy az adott swap terület kikapcsolásával marad-e elég virtuális memóriánk, és csak akkor kikapcsolni, ha marad.

A swapon -a paranccsal automatikusan aktivált swap területeket a swapoff -a kikapcsolja a /etc/fstab  tartalma alapján, a kézzel bekapcsoltakat pedig békén hagyja.

Néha sok swap terület lehet használatban még akkor is, ha sok szabad fizikai memóriánk van. Ez pl. úgy eshet meg, hogy egy adott időpontban szükség volt nagy swap használatra, majd egy olyan processz leállt, amely sor fizikai memóriát használt és felszabadította a memóriát. A swap területre tett adatok viszont csak akkor kerülnek be a fizikai memóriába, ha szükség van rájuk, és ha ez soká következik be, akkor sokáig marad szabad memóriánk. Ez természetesen nem rontja a rendszer hatékonyságát, csak jó tudni, mi történik a gépünkben.

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