|
A swap terület nagysága
Néhány ember azt mondja, hogy a fizikai memóriaméret kétszeresének
megfelelő swap területet kell lefoglalni, de ez egy rossz szabály. A
helyes eljárás a következő:
- 1.
- Becsüljük meg a teljes memóriaigényt. Ez a legnagyobb
memóriamennyiség, melyre egyszerre szükség lehet, azaz az egyszerre
futtatni szándékozott programok memóriaigényeinek összege. Ezt
legjobban kipróbálással lehet eldönteni; azaz futtassuk az összes
programot egyszerre (esetleg egy már futó rendszeren), amiket valaha
is egyszerre kívánunk futtatni, és mérjük a memóriaigényt. Másik
módszer, hogy egyesével futtatjuk a használni kívánt programokat, majd
összegezzük a memóriahasználatot.
Természetesen egy jó becslés is elegendő lehet. Például az X futtatása
kb. 8 MB-nyi, a gcc 4-10 MB-nyi területet igényel, stb. A kernel
maga kb. 1 MB-ot foglal le, a szokásos shellek valamelyike és pár
segédprogram együtt kb. 1 MB-ot. Nem kell most pontosnak lennünk,
durva becslések elegendőek, ha egy kicsit pesszimista módon inkább
felülről becsüljük a memóriaigényt.
Figyelni kell arra is, ha feltehetően egyszerre több ember is
dolgozni fog a rendszeren, akkor annak megfelelően növekszik a
memóriaigény. Bár az is igaz, hogy ha egyszerre ketten ugyanazt a
programot futtatják, a memóriaigény nem kétszeres, mivel a kódlapok és
az osztott könyvtárak csak egy példányban léteznek.
A free és a ps parancsoknak hasznát vehetjük a becsléskor.
- 2.
Adjunk egy kis biztonsági tartalékot az 1. lépés eredményéhez. Egyrészt
rossz lehet az egyes programok memóriaigényének becslése, másrészt
lehet, hogy elfeledkeztél egy majdan használandó programról, és
különben is jó, ha van még egy kis szabad hely. Pár megabájt tartalék
megfelelő lehet. Jobb, ha többet foglalunk, mintha keveset, de
túlzásokba sem kell esni, mivel a kihasználatlan swap terület
elvesztegetettnek tekinthető. Ha kell, később is adhatunk plusz swap
területet a rendszerhez. Továbbá, mivel szebb kerek számokkal
dolgozni, kerekítsünk a legközelebbi páros megabájtra.
- 3.
Az előbbi számítások eredményeként kapunk egy teljes
memóriaigényt. Így ebből a fizikai memóriaméretet kivonva megkaphatjuk
a szükséges swap méretét. (Néhány UNIX változat esetén a fizikai
memória képmásának is helyet kell foglalni, így nem szabad megtenni
ezt a kivonást.)
- 4.
Ha a kiszámolt swap méret sokkal nagyobb (mondjuk több, mint
3-szorosa) a fizikai memóriának, érdemes több fizikai memóriát
beszerezni, mert a rendszer sebessége nagyon kicsi lesz különben.
Jó, ha van egy kicsi swap területünk, még akkor is, ha a fenti
számítás azt mutatja, hogy nem kell semennyi sem. A Linux a swap
területet elég aggresszíven használja, hogy a lehető legnagyobb
fizikai memóriaterület legyen szabadon, még akkor is, ha
pillanatnyilag nincs igény a fizikai memóriára. Ez hasznos lehet, ha
később mégis swappelni kellene, mivel a lemezre írás már korábban
megtörténik, amikor a lemez amúgy lustálkodna.
A swap terület néha több lemezen oszlik meg. Ez néha javítja a
sebességet, a lemezek és azok elérési sebességének
függvényében. Érdemes lehet néhány változatot kipróbálni, bár nehéz
őket tökéletesen kivitelezni. Mindenesetre ne higyjünk a
''legjobb''-nak mondott recepteknek, mert nincs minden körülmények
között működő ''szuper recept''.
|