Ero sivun ”Swap” versioiden välillä
Siirry navigaatioon
Siirry hakuun
ei muokkausyhteenvetoa
p (typo) |
Ei muokkausyhteenvetoa |
||
(Yhtä välissä olevaa versiota toisen käyttäjän tekemänä 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 [[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 [[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. | ||
Rivi 41: | 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. | 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 53: | 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=== | ===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 | 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 |