Ero sivun ”Usein kysyttyjä kysymyksiä ytimestä” versioiden välillä

Siirry navigaatioon Siirry hakuun
Epätarkkuuksia korjattu.
(Lisätty tarinaa ongelman taustasta.)
(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 korkeintaan tuo 1 GiB, mutta muistin määrän kasvaessa on tullut tarve kasvattaa ytimelle varatun osuuden kokoa (tai keksiä jokin toinen ratkaisu ongelmalle).
[[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 neljällä eri tavalla:
Muisti voidaan jakaa viidellä eri tavalla:


  * 3G/1G - vanha tapa, jossa muistia käytetään n. 896 MiB.
{|cellpadding="5" cellspacing="0" border="1"
  * 3G/1G - Jako koneille, joissa on tasan 1 GiB muistia.
!Ytimen konfigurointioptio
  * 2G/2G - Jako koneille, joissa on tasan 2 GiB muistia.
!Muistia käytössä
  * 1G/3G - Jako koneille, joissa on tasan 3 GiB muistia.
|-
|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 reilun 3GiB:n sijasta. Tämä estää esimerkiksi [[wine|winen]] toiminnan ja saattaa haitata prosesseja, jotka käyttävät matalan tason muistinhallintaa. Useimpia tämä ei kuitenkaan haittaa.
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.
92

muokkausta

Navigointivalikko