Ero sivun ”Usein kysyttyjä kysymyksiä ytimestä” versioiden välillä
Siirry navigaatioon
Siirry hakuun
Usein kysyttyjä kysymyksiä ytimestä (muokkaa)
Versio 13. lokakuuta 2011 kello 21.20
, 13. lokakuuta 2011Epätarkkuuksia korjattu.
Jem (keskustelu | muokkaukset) (Lisätty tarinaa ongelman taustasta.) |
Jem (keskustelu | muokkaukset) (Epätarkkuuksia korjattu.) |
||
Rivi 1: | Rivi 1: | ||
== Miksi gigatavun muistista jää osa käyttämättä? == | == Miksi gigatavun muistista jää osa käyttämättä? == | ||
[[Prosessi]]n muistiavaruus on jaettu kahteen osaan, joista yksi osa on varattu vain [[ydin|ytimen]] käyttöön. 32-bittisiä osoitteita käyttävässä koneessa osoiteavaruuden koko on 4 gigatavua (4 GiB), joista perinteisesti ylin 1 GiB on ollut varattuna ytimelle ja loput 3 GiB prosessissa suoritettavan sovelluksen käytössä. Ytimelle varatussa osassa on kuvattuna koko fyysinen RAM-muisti. Tämä ei ollut ongelma niin kauan kuin tietokoneiden muistin koko oli | [[Prosessi]]n muistiavaruus on jaettu kahteen osaan, joista yksi osa on varattu vain [[ydin|ytimen]] käyttöön. 32-bittisiä osoitteita käyttävässä koneessa osoiteavaruuden koko on 4 gigatavua (4 GiB), joista perinteisesti ylin 1 GiB on ollut varattuna ytimelle ja loput 3 GiB prosessissa suoritettavan sovelluksen käytössä. Ytimelle varatussa osassa on kuvattuna koko fyysinen RAM-muisti — tämän lisäksi ydin tarvitsee 128 MiB:n osoiteavaruuden mm. ytimen sisäisen vmalloc-funktion käyttöön. Tämä ei ollut ongelma niin kauan kuin tietokoneiden muistin koko oli alle tuon 1 gigatavun, mutta muistin määrän kasvaessa on tullut tarve kasvattaa ytimelle varatun osuuden kokoa (tai keksiä jokin toinen ratkaisu ongelmalle). | ||
Tarkempi kuvaus ongelman syistä ja ratkaisuista löytyy mm. artikkelista [http://groups-beta.google.com/group/cn.bbs.comp.unix.development.kernel/browse_thread/thread/ae812c4736d7aa10/0d1cc7cecaf6671d?q=linux+kernel+ram+896+arcangeli&rnum=1&hl=en&fwc=1 High Memory in the Linux Kernel]. Ytimen versiosta 2.6.16 alkaen on mahdollista käyttää ratkaisua, jossa muutetaan kernelin muistinjakoa, jolloin ei tarvitse vielä turvautua highmem-tukeen, joka tuo oman overheadinsä. Vanhemmille ytimille tarvittava patch löytyy mm. [http://members.optusnet.com.au/ckolivas/kernel/ Con Kolivasin seteistä]. | Tarkempi kuvaus ongelman syistä ja ratkaisuista löytyy mm. artikkelista [http://groups-beta.google.com/group/cn.bbs.comp.unix.development.kernel/browse_thread/thread/ae812c4736d7aa10/0d1cc7cecaf6671d?q=linux+kernel+ram+896+arcangeli&rnum=1&hl=en&fwc=1 High Memory in the Linux Kernel]. Ytimen versiosta 2.6.16 alkaen on mahdollista käyttää ratkaisua, jossa muutetaan kernelin muistinjakoa, jolloin ei tarvitse vielä turvautua highmem-tukeen, joka tuo oman overheadinsä. Vanhemmille ytimille tarvittava patch löytyy mm. [http://members.optusnet.com.au/ckolivas/kernel/ Con Kolivasin seteistä]. | ||
Muisti voidaan jakaa | Muisti voidaan jakaa viidellä eri tavalla: | ||
{|cellpadding="5" cellspacing="0" border="1" | |||
!Ytimen konfigurointioptio | |||
!Muistia käytössä | |||
|- | |||
|3G/1G user/kernel split||vanha tapa, jossa muistista hyödynnetään korkeintaan 1 GiB - 128 MiB | |||
|- | |||
|3G/1G user/kernel split (for full 1G low memory)||1 GiB täysin käytössä | |||
|- | |||
|2G/2G user/kernel split||muistista hyödynnetään korkeintaan 2 GiB - 128 MiB | |||
|- | |||
|2G/2G user/kernel split (for full 2G low memory)||2 GiB täysin käytössä | |||
|- | |||
|1G/3G user/kernel split||muistista hyödynnetään korkeintaan 3 GiB - 128 MiB | |||
|} | |||
Haittapuoli esimerkiksi 2G/2G jaosta on se, että user space virtuaalimuistiavaruus (prosessin maksimikoko) on enää 2 GiB entisen | Haittapuoli esimerkiksi 2G/2G jaosta on se, että user space virtuaalimuistiavaruus (prosessin maksimikoko) on enää 2 GiB entisen 3 GiB:n sijasta. Tämä estää esimerkiksi [[wine|winen]] toiminnan ja saattaa haitata prosesseja, jotka käyttävät matalan tason muistinhallintaa. Useimpia ohjelmia tämä ei kuitenkaan haittaa. | ||
Jos koneessa on enemmän kuin 2 GiB muistia ja 64-bittinen prosessori, on suositeltavaa käyttää 64-bittistä versiota Linuxista, jossa yllä kuvattuja ongelmia ei ole. | Jos koneessa on enemmän kuin 2 GiB muistia ja 64-bittinen prosessori, on suositeltavaa käyttää 64-bittistä versiota Linuxista, jossa yllä kuvattuja ongelmia ei ole. |