Ero sivun ”Swap” versioiden välillä
Siirry navigaatioon
Siirry hakuun
ei muokkausyhteenvetoa
Pb (keskustelu | muokkaukset) (swap-alueiden prioriteetti, käytössä olevien alueiden näyttäminen) |
Ei muokkausyhteenvetoa |
||
(3 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 [[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 15: | 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]] | 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 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 | |||
===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 | ||
swapon -p 2048 /swapfile | swapon -p 2048 /swapfile |