Erillisen swap-osion luominen asennuksen yhteydessä on ihmetyttänyt minuakin. Onkohan sille mitään järkiperustetta olemassa?
Ihan huoletta voit tehdä swap-tiedoston, mutta järjestelmän oletuksena luodaan tarvittava swap-osio ongelmien välttämiseksi (n. 2xRAM). Aiemmin muistin loppuminen merkitsi järjestelmän kaatumista.
Mutta miksi et loisi swap-osiota. Swap-tilaa voi lisätä _tarvittaessa_ tekemällä swap-tiedoston.
Sinun on vain tuolloin ymmärrettävä, milloin swap-tiedosto on järkevää tai tarpeen tehdä.
Nykyisin kovalevytilaa on Teroittain, miksi tinkiä muutaman Gigan swap-osiosta.
Joskus joku ohjelma-bugi voi rosvota muistia, ja tällöin on mahdollista, että muisti yksinkertaisesti vain loppuu. Kaatuuko järjestelmä - vai hidastuuko vain käyttökelvottomaksi - on jäänyt kokeilematta.
Jos muisti loppuu, iskee "OOM killer", OOM tietenkin lyhenne sanoista Out Of Memory. Se ampuu alas jonkin prosessin pelastaakseen järjestelmän. En osaa selittää miten se tarkalleen ottaen valitsee uhrin, mutta ainakin useimmissa "varaa muistia, täytä roskalla"-testeissä se osaa tappaa juuri sen testiohjelman. Tämä tapahtuu kun virtuaalimuisti loppuu – ihan sama onko kyseessä pelkkä fyysinen muisti vai fyysinen+swap.
Sen sijaan jos swappia on liikaa verrattuna muistiin, ollaan pitkän aikaa tilanteessa, jossa virtuaalimuistia on toki jäljellä, mutta koska swappia käytetään paljon, kone on käyttökelvottoman hidas. Tästä se 2×fyysinen muisti -sääntö, se on yläraja. Sen tullessa täyteen on jo parasta, että oomkiller tappaa jotain. Jos tätä tapahtuu usein, ratkaisu ei ole lisätä swappia vaan lisätä fyysistä muistia.
Ja näinhän eräät tahot olivat tulleet siihen tulokseen, että Linux swappaa liian innokkaasti ja epäoptimaalisesti ja jos muistia on ohjelmien tarpeisiin nähden naurettavia määriä (puhe oli kuudesta gigasta perus desktop-käytössä tms) järjestelmä toimii nopeimmin, mikäli swappia ei ole lainkaan käytössä. Samalla foorumilla tapeltiin kovasti siitä, mitä swappinessin arvon pitäisi olla. Näistä tarinoista tulin siihen päätelmään, että välttämättä oikeaa totuutta ei olekaan, kaikki riippuu ihan siitä minkälaisia ohjelmia käyttää ja mille mahdollisesti swappaa (joku käytti neljän levyn raidia). Varsinkin siis swappinessin arvoja voi jokainen kokeilla ihan miten haluaa eikä ilman swappia toimiminenkaan mitenkään vaarallista pitäisi olla – periaatteessa tällöin vain saa hieman vähemmän levycachea käyttöönsä kun kaikki ohjelmien varaama on oikeasti fyysisessä muistissa.
"2×fyysinen muisti" on ajalta, jolloin oli itsestään selvää, että kone swappasi normaalikäytössä. Olen aika varma, ettei kuuden gigan muistilla tee mitään 12 gigan swappiosiolla. Korkeintaan saa aikaan hetkellistä jumitusta jos joku softa villiintyy ja haluaa loputtomiin muistia.