Swap-tiedostot

Swappia voi Linuxissa käyttää perinteisen swap-osion asemesta myös suoraan tiedostoista, eli swap-fileistä. Swapin hallinta on muutenkin helppoa, sillä swap-tilan voi kytkeä päälle ja pois ilman uudelleenkäynnistystä ja vaikka tila olisikin käytössä.

Perinteisesti swap on sijoitettu erilliselle osiolleen (mahdollisesti turvallisempaa), mutta swapin voi käytännöllisistä syistä luoda myös tiedostoja käyttäen. Swap-tiedostot ovat swap-osioihin verrattuna helpompia luoda, poistaa ja muuttaa kooltaan.

Swap-tiedoston luominen onnistuu seuraavalla komennolla (x86-alustalla maksimissaan 2GB), kuten ”man mkswap” ohjeistaa:
dd bs=1024 count=1M if=/dev/zero of=/path/to/swapfile.n

Komento luo 1 GB kokoisen tiedoston (1 MB * 1024) paikkaan ”/path/to/swapfile.n”

Swap-tilalle voidaan antaa myös prioriteetteja (man 2 swapon). Korkeamman prioriteetin swap-tila käytetään ennen alemman prioriteetin swappia ja saman prioriteetin swap-tila ”jaetaan” (striped). Prioriteetti määritellään joko swapin aktivoinnissa ”swapon” komennolla tai /etc/fstab tiedostossa (esimerkki).

# swap space in device partitions
/dev/hda2        none    swap    pri=5,defaults 0 0
/dev/hde2        none    swap    pri=5,defaults 0 0
# swap space in swap files
/work/swapfile.1 none    swap    pri=5,defaults 0 0
/work/swapfile.2 none    swap    pri=5,defaults 0 0

Kun swap-tila on varattu, täytyy se alustaa swap-otsikkotiedoilla seuraavasti.

	mkswap /dev/hda2
	mkswap /dev/hdb1
	mkswap /work/swapfile.1
	mkswap /work/swapfile.2

Swap-tila aktivoidaan järjestelmän käynnistyksessä ja myöhemmin sama voidaan myös tehdä ”swapon” komennolla ennen swapin käyttöönottoa, esimerkiksi seuraavasti:

	swapon /dev/hdf1
	swapon /work/swapfile.3

Swap-tilan käyttäminen useammalta osiolta tai swap-tiedostojen jakaminen useammalle osiolle vastaa RAID-0:n toimintaa. Yleensä on hyvä olla useampi swap-alue samalla prioriteetilla toiminnan tehostamiseksi. Jos koneessa on riittävästi muistia niin swappia ei periaatteessa tarvita ollenkaan, sillä swapin käyttäminen on hitaampaa kuin muistin käyttäminen.

Swapin poistaminen käytöstä voidaan suorittaa ”swapoff” komennolla (man swapoff).

	swapoff /work/swapfile.1
	swapoff /work/swapfile.2
	swapoff /dev/hdb1
	swapoff /dev/hda2

Lisää swapista voi lukea swap-mini-howto:sta

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *