Ero sivun ”Swap” versioiden välillä

Siirry navigaatioon Siirry hakuun
1 082 merkkiä lisätty ,  4. joulukuuta 2019
ei muokkausyhteenvetoa
(Ak: Uusi sivu: Swap eli heittovaihto (joka tosin nykyisin on lähes aina sivutusta) tarkoittaa keskusmuistissa olevan datan siirtämis...)
 
Ei muokkausyhteenvetoa
 
(4 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
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.  
'''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.  


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 11: Rivi 15:


===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]] kiintolevyn_[[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]] [[laitetiedosto|levyosion_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 37: Rivi 41:
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. 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.
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.
 
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 49: Rivi 55:
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==
706

muokkausta

Navigointivalikko