Prejšnji teden sem vodil tečaj administracije Linux sistemov. Ko smo pri poglavju o particioniranju diskov, me tečajniki vedno vprašajo, kako velika naj bo swap particjia? V jedrih Linux OS 2.6 in novejših je ti. swap particija in swap datoteka enako hitra. Torej kaj izbrati?

Sistemci, ki z Linuxom in ostalimi UNIX-i delamo že precej let vam bomo povedali sledeče; za swap vzami 2x količino RAM-a v računalniku. Toda to je bedarija, saj če imam strežnik z 64 GB RAM-a, potem verjetno ne bom namenil swap particiji oz. swap datoteki 128 GB prostora.

Poraja pa se tudi vprašanje ali bo naš OS vedel izrabiti swap pomnilnik. Načeloma je potrebno glede izrabe swap pomnilnika narediti kar nekaj testov. Na internetu dobite Perl skripto z imenom eatmem in opazujte kaj se dogaja z vašim sistemom.

Kako bi bilo torej moje priporočilo? Če postavljam spletni strežnik ali poštni strežnik bi se le to glasilo enostavno takole:

1.Swap prostor == enak količini RAM (če je RAM < 2GB)
2.Swap prostor == velikosti 2GB (če je RAM > 2GB)

Če imamo recimo na strežniku Oracle bazo podatkov, ki seveda intenzivno zapisuje na hitre diske, ki so recimo v RAID 10 polju bi pa recimo lahko izbrali sledeče:

1.Swap prostor == enak količina RAM (če je RAM < 8GB)
2.Swap prostor == 0.50 x količina RAM (če je RAM > 8GB)

Na vsakem UNIX/Linux/BSD sistemu je na voljo kar nekaj ukazov s katerimi pogledamo, kaj se dogaja z našim fizičnim in navdeznim pomnilnikom, oz. kateri proces nam jemlje največ pomnilnika:

cat /proc/swaps
swapon -s
free -m
top

Seveda je dobra praksa v tem, da lahko naredite tudi več swap datotek oz. swap particiji. Če so le te še na fizično ločenih diskih potem toliko bolje.

Če ugotovite, da vaš strežnik zavzame vašo celotno swap particji, ki je velika 2 GB, potem je čas za nakup dodatnega fizičnega pomnilnika. Desktop sistemom se to ne sme dogajat oz. če se že potem prav tako dokupite RAM, RAM je postal poceni, ne varčujte pri RAM pomnilniku.

Kaj pa vaše izkušnje?

Reblog this post [with Zemanta]