Muokataan sivua Swap

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 1: Rivi 1:
'''Swap''' eli [[wikipedia:fi:heittovaihto|heittovaihto]] (joka tosin nykyisin on lähes aina [[wikipedia:fi:näennäismuisti|sivutusta]]) tarkoittaa [[wikipedia:fi:keskusmuisti|keskusmuistissa]] olevan datan siirtämistä muistitilan loppuessa massamuistilla (yleensä kiintolevyllä) sijaitsevalle swap-alueelle.  
Swap eli [[wikipedia:fi:heittovaihto|heittovaihto]] (joka tosin nykyisin on lähes aina [[wikipedia:fi:näennäismuisti|sivutusta]]) tarkoittaa keskusmuistissa olevan datan siirtämistä muistitilan loppuessa massamuistilla (yleensä kiintolevyllä) sijaitsevalle swap-alueelle.  


Sivutukselle ja heittovaihdolle "vastakkainen" toimenpide on massamuistilla sijaitsevien, usein tarvittavien tiedostojen kopioiminen keskusmuistiin niiden lukemisen nopeuttamiseksi. Tällä on osaltaan suuri merkitys järjestelmän suorituskyvylle.
Sivutukselle ja heittovaihdolle "vastakkainen" toimenpide on massamuistilla sijaitsevien, usein tarvittavien tiedostojen kopioiminen keskusmuistiin niiden lukemisen nopeuttamiseksi. Tällä on osaltaan suuri merkitys järjestelmän suorituskyvylle.


Linuxissa swap-alue sijoitetaan yleensä erilliselle [[miten osioisin kiintolevyn|kiintolevyosiolle]], jolla on oma, swap-käyttöön optimoitu [[tiedostojärjestelmä]]nsä. Tavalliselle osiolle sijoitettuun swap-tiedostoon verrattuna tällä saavutetaan tietty nopeusetu (joka tosin on nykyisin melko marginaalinen).
Linuxissa swap-alue sijoitetaan yleensä erilliselle [[miten osioisin kiintolevyn|kiintolevyosiolle]], jolla on oma, swap-käyttöön optimoitu [[tiedostojärjestelmä]]nsä. Tavalliselle osiolle sijoitettuun swap-tiedostoon verrattuna tällä saavutetaan tietty nopeusetu (joka tosin on nykyisin melko marginaalinen).
Komennolla
[[cat]] /[[proc]]/swaps
näkee kaikki järjestelmässä käytössä olevat swap-alueet tietoineen.


==Swapin käyttöönotto==
==Swapin käyttöönotto==
Rivi 15: Rivi 11:


===Käyttöönotto käsin===
===Käyttöönotto käsin===
Swap-osio tai -tiedosto voidaan luoda myös käsin. Swap-osio tehdään luomalla ensin vapaavalintaisella [[osiointityökalut|osiointiohjelmalla]] sopiva osio. Monet osiointiohjelmat tarjoavat erillistä toimintoa swap-osion luomiseen, jolloin osiolle luodaan valmiiksi oikea tiedostojärjestelmä. Jos tällaista vaihtoehtoa ei ole tarjolla, voidaan luoda tyhjä (alustamaton) osio ja tehdä sille jälkikäteen swap-tiedostojärjestelmä komennolla <tt>[[mkswap]] [[laitetiedosto|levyosion_laitetiedosto]]</tt>, esimerkiksi
Swap-osio tai -tiedosto voidaan luoda myös käsin. Swap-osio tehdään luomalla ensin vapaavalintaisella [[osiointityökalut|osiointiohjelmalla]] sopiva osio. Monet osiointiohjelmat tarjoavat erillistä toimintoa swap-osion luomiseen, jolloin osiolle luodaan valmiiksi oikea tiedostojärjestelmä. Jos tällaista vaihtoehtoa ei ole tarjolla, voidaan luoda tyhjä (alustamaton) osio ja tehdä sille jälkikäteen swap-tiedostojärjestelmä komennolla <tt>[[mkswap]] kiintolevyn_[[laitetiedosto]]</tt>, esimerkiksi
  mkswap /dev/sda4
  mkswap /dev/sda4
Tämän jälkeen tulee lisätä [[fstab]]iin sopiva rivi swap-osion käyttöönottamiseksi järjestelmän käynnistyessä. Ylläolevassa tapauksessa oikea rivi olisi
Tämän jälkeen tulee lisätä [[fstab]]iin sopiva rivi swap-osion käyttöönottamiseksi järjestelmän käynnistyessä. Ylläolevassa tapauksessa oikea rivi olisi
Rivi 41: Rivi 37:
Herkkyyttä ajettavien ohjelmien swapiin siirtämiseen säädellään tiedoston <tt>/[[proc]]/sys/vm/swappiness</tt> avulla. Asetus voi olla välillä <tt>0-100</tt>. <tt>0</tt> tarkoittaa, että ohjelmien dataa ei koskaan siirretä kiintolevyvälimuistin tieltä swapiin (swap otetaan käyttöön vain silloin, kun keskusmuisti täyttyy ohjelmadatasta). <tt>100</tt> taas tarkoittaa, että todennäköisyys ohjelmadatan syrjäyttämiselle kiintolevyvälimuistin tieltä on hyvin suuri.
Herkkyyttä ajettavien ohjelmien swapiin siirtämiseen säädellään tiedoston <tt>/[[proc]]/sys/vm/swappiness</tt> avulla. Asetus voi olla välillä <tt>0-100</tt>. <tt>0</tt> tarkoittaa, että ohjelmien dataa ei koskaan siirretä kiintolevyvälimuistin tieltä swapiin (swap otetaan käyttöön vain silloin, kun keskusmuisti täyttyy ohjelmadatasta). <tt>100</tt> taas tarkoittaa, että todennäköisyys ohjelmadatan syrjäyttämiselle kiintolevyvälimuistin tieltä on hyvin suuri.


Oletusasetuksena toimii useimmissa jakeluissa <tt>60</tt>, mikä on hyvä palvelinkäytössä, mutta työpöytäkäyttöön yleensä turhan korkea. Varsinkin kannattavissa on usein hyödyllistä käyttää matalaa arvoa, sillä vähentynyt swapin käytön tarve vähentää tarvetta kiintolevyn "herättämiseen", mikä vuorostaan säästää virtaa.
Oletusasetuksena toimii useimmissa jakeluissa <tt>60</tt>, mikä on hyvä palvelinkäytössä, mutta työpöytäkäyttöön yleensä turhan korkea. Työpöytäkäytössä hyvä arvo on tyypillisesti välillä <tt>20-30</tt>. Jotkut käyttävät jopa arvoa <tt>10</tt> tai <tt>0</tt>. Paras arvo riippuu käytettävien ohjelmien tyypistä ja siihen pääsee käytännössä vain itse kokeilemalla.
 
Normaalissa työpöytäkäytössä hyvä arvo on tyypillisesti välillä <tt>20-30</tt>. Jotkut käyttävät jopa arvoa <tt>10</tt> tai <tt>0</tt>. Paras arvo riippuu käytettävien ohjelmien tyypistä ja siihen pääsee käytännössä vain itse kokeilemalla.


Nykyisen <tt>swappiness</tt>-arvon näkee komennolla
Nykyisen <tt>swappiness</tt>-arvon näkee komennolla
Rivi 55: Rivi 49:
Sysctl.confiin määritellyt asetukset tulevat oletuksena käyttöön seuraavan uudelleenkäynnistyksen jälkeen. Asetusten käyttöönotto suoraan onnistuu komennolla
Sysctl.confiin määritellyt asetukset tulevat oletuksena käyttöön seuraavan uudelleenkäynnistyksen jälkeen. Asetusten käyttöönotto suoraan onnistuu komennolla
  [[sysctl]] -p
  [[sysctl]] -p
===Swap-alueiden prioriteetti===
Jos käytössä on lukuisia swap-alueita, voi niille asettaa keskinäisen prioriteetin riippuen esimerkiksi käytettävän massamuistin nopeudesta. Prioriteetti voi olla joko korkea tai matala. Oletusprioriteetti on aina matala (<tt>-1</tt>). Jos prioriteetti määritellään erikseen (kokonaisluku väliltä <tt>0-32767</tt>) tulee siitä automaattisesti korkea. Korkea prioriteetti voidaan asettaa <tt>[[swapon]]</tt>-komennon valitsimella <tt>-p</tt>, esimerkiksi
swapon -p 2048 /swapfile
Pysyvä asetus määritellään [[fstab]]in neljännessä sarakkeessa paramerillä <tt>pri</tt>, esimerkiksi
/dev/sda4        swap        swap        defaults,pri=20485  0 0


==Katso myös==
==Katso myös==
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)
Noudettu kohteesta ”https://www.linux.fi/wiki/Swap