Linux saaleala ehk swap: Difference between revisions
No edit summary |
No edit summary |
||
(19 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
'''Mis on swap''' | '''Mis on swap''' | ||
Linux on võimeline kasutama kõvaketast RAM-i laiendusena, seda | Linux on võimeline kasutama kõvaketast RAM-i laiendusena, seda nimetatakse saalealaks. Saaleala võib olla nii partitsiooni kui faili kujul. Swap partitsiooni on võimalik tekitada Linuxi instaleerimise käigus. Faili aga võib tekitada igal ajal. | ||
Eesmärk on mälus olevad andmed mida hetkel ei vajata kirjutada saalealale. Seda kasutatakse juhul kui mõnel aktiivsel programmil jääb mälu väheks. Kui saalealale kirjutatud andmeid on uuesti vaja, siis loetakse nad swapist uuesti mällu. See on oluliselt kiirem, kui andmete lugemine failisüsteemist. Kuid ta ei ole siiski võrreldav RAM-i kiirusega | Eesmärk on mälus olevad andmed mida hetkel ei vajata kirjutada saalealale. Seda kasutatakse juhul kui mõnel aktiivsel programmil jääb mälu väheks. Kui saalealale kirjutatud andmeid on uuesti vaja, siis loetakse nad swapist uuesti mällu. See on oluliselt kiirem, kui andmete lugemine failisüsteemist. Kuid ta ei ole siiski võrreldav RAM-i kiirusega | ||
Line 16: | Line 16: | ||
'''Palju ruumi swapiks on vaja''' | '''Palju ruumi swapiks on vaja''' | ||
Minimaalselt võrdselt RAM-i hulgaga. | Minimaalselt võrdselt RAM-i hulgaga (kantavatel arvutitel, kuna saaleala kasutatakse talveunne minekul RAM salvestamiseks). Kaasaja serverites soovitatakse lisada saaleala suurusega 1-8GB. | ||
Ainuke miinus swapi suuruse juures on see, kui palju võtab ta sinu kõvakettal ruumi. Seda swapile antud ruumi ei saa sa kasutada muuks. | Ainuke miinus swapi suuruse juures on see, kui palju võtab ta sinu kõvakettal ruumi. Seda swapile antud ruumi ei saa sa kasutada muuks. | ||
'''Kuidas tekitada swap partitsioonile''' | |||
Ütleme et, me tahame tekitada swapi partitsioonile hdb2 | |||
selleks | |||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | |||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" |mkswap /dev/hdb2 | |||
|} | |||
Võtta swap kohe kasutusele | |||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | |||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" |swapon /dev/hdb2 | |||
|} | |||
Et bootimisel võetaks swap hdb2 kasutusele selleks muuta faili /etc/fstab ja lisada sinna read | |||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | |||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" |/dev/hdb2 swap swap defaults 0 0 | |||
|} | |||
'''Kuidas tekitada swap fail''' | '''Kuidas tekitada swap fail''' | ||
Faili kasutada swap seadmena. | Faili kasutada swap seadmena. | ||
Line 34: | Line 57: | ||
'''Näiteks teeme 512 Mb swapi''' | '''Näiteks teeme 512 Mb swapi''' | ||
Teeme /mnt/512Mb.swap swap faili ja paneme õigused nii, et kasutaja ei saa seda lugeda otse. | Teeme /mnt/512Mb.swap swap faili ja paneme õigused nii, et kasutaja ei saa seda lugeda otse. | ||
Line 56: | Line 78: | ||
Tekitame swap seadme | Tekitame swap seadme | ||
Line 66: | Line 87: | ||
Tekitatud swap on nüüd saadaval ja seda on võimalik näha | Tekitatud swap on nüüd saadaval ja seda on võimalik näha | ||
Line 79: | Line 99: | ||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" |/mnt/512Mb.swap none swap sw 0 0 | | style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" |/mnt/512Mb.swap none swap sw 0 0 | ||
|} | |} | ||
Salvestada, peale järgmist restarti hakatakse swapi kasutama automaatselt | Salvestada, peale järgmist restarti hakatakse swapi kasutama automaatselt | ||
Kui me ei vaja enam swap seadet mille tekitasime siis tuleks käituda vastupidiselt | Kui me ei vaja enam swap seadet mille tekitasime siis tuleks käituda vastupidiselt | ||
Line 101: | Line 119: | ||
Eemalda swap fail jooksvast süsteemist | Eemalda swap fail jooksvast süsteemist | ||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | |||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" |swapoff /mnt/512Mb.swap && rm /mnt/512Mb.swap | |||
|} | |||
Line 115: | Line 135: | ||
Et vaadata hetkeväärtust | Et vaadata hetkeväärtust | ||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | |||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" |cat /proc/sys/vm/swappiness | |||
|} | |||
Muutmiseks | Muutmiseks | ||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | |||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" |sysctl vm.swappiness=10 | |||
|} | |||
Püsivaks muutmiseks | Püsivaks muutmiseks | ||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | |||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" |gedit /etc/sysctl.conf | |||
|} | |||
lisada rida | lisada rida | ||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | |||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" |vm.swappiness=10 | |||
|} | |||
Line 147: | Line 176: | ||
Isegi kui sul on palju RAM-i ja väike swappimise väärtus. On võimalik et, süsteem tegeleb ikka swappimisega ja see võib mõjutada sinu süsteemi jõudlust. | Isegi kui sul on palju RAM-i ja väike swappimise väärtus. On võimalik et, süsteem tegeleb ikka swappimisega ja see võib mõjutada sinu süsteemi jõudlust. | ||
Selleks võib kasutada scripti mis tõstab automaatselt swapist tagasi RAM-i | Selleks vältimiseks võib kasutada scripti mis tõstab automaatselt swapist tagasi RAM-i | ||
Teha muudatused failis | |||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | |||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" |gedit /usr/sbin/swap2ram.sh | |||
|} | |||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | |||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | | |||
err="not enough RAM to write swap back, nothing done" | |||
mem=`free|grep Mem:|awk '{print $4}'` | mem=`free|grep Mem:|awk '{print $4}'` | ||
swap=`free|grep Swap:|awk '{print $3}'` | swap=`free|grep Swap:|awk '{print $3}'` | ||
test $mem -lt $swap && echo -e $err && exit 1 | test $mem -lt $swap && echo -e $err && exit 1 | ||
swapoff -a && swapon -a && | swapoff -a && swapon -a && | ||
exit 0'' | exit 0'' | ||
|} | |||
salvestada ja teha script käivitatavaks | salvestada ja teha script käivitatavaks | ||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | |||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" |chmod +x /usr/sbin/swap2ram.sh | |||
|} | |||
käivitada | käivitada | ||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | |||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" |usr/sbin/swap2ram.sh | |||
|} | |||
[http://www.linuxjournal.com/article/10678 http://www.linuxjournal.com/article/10678 ] | |||
[https://help.ubuntu.com/community/SwapFaq?highlight=%28%28SwapFaq%29%29 https://help.ubuntu.com/community/SwapFaq?highlight=%28%28SwapFaq%29%29 ] | |||
Märt Lindre AK21 | |||
Täiendab: Taavi Zeiger A21 | |||
[[ | [[Category: Operatsioonisüsteemide administreerimine ja sidumine]] | ||
Latest revision as of 12:24, 25 October 2011
Mis on swap
Linux on võimeline kasutama kõvaketast RAM-i laiendusena, seda nimetatakse saalealaks. Saaleala võib olla nii partitsiooni kui faili kujul. Swap partitsiooni on võimalik tekitada Linuxi instaleerimise käigus. Faili aga võib tekitada igal ajal.
Eesmärk on mälus olevad andmed mida hetkel ei vajata kirjutada saalealale. Seda kasutatakse juhul kui mõnel aktiivsel programmil jääb mälu väheks. Kui saalealale kirjutatud andmeid on uuesti vaja, siis loetakse nad swapist uuesti mällu. See on oluliselt kiirem, kui andmete lugemine failisüsteemist. Kuid ta ei ole siiski võrreldav RAM-i kiirusega
Miks on vaja swapi
Osad programmid vajavad rohkelt mälu (videotöötlus, mängud, suurte failide töötlemine jne.) Neid programme käivitades või andmeid läbi töödeldes loetakse mällu suur hulk informatsiooni mida hiljem enam võibolla ei kasutata. Süsteem võib selle mälu swappida ja vabastada mälu reaalselt mälu vajavatele protsessidele. Sellel juhul aitab swap hakkama saada täiendava koormusega.
Ettenägematute asjaolude puhul, kus mõni programm läheb lolliks ja hakkab mälu tarbima rohkem kui vaja.
Optimiseerida mälu kasutust, linux kernel automaatselt vabastab mälu mida ei kasutata ja liigutab selle swappi.
Palju ruumi swapiks on vaja
Minimaalselt võrdselt RAM-i hulgaga (kantavatel arvutitel, kuna saaleala kasutatakse talveunne minekul RAM salvestamiseks). Kaasaja serverites soovitatakse lisada saaleala suurusega 1-8GB.
Ainuke miinus swapi suuruse juures on see, kui palju võtab ta sinu kõvakettal ruumi. Seda swapile antud ruumi ei saa sa kasutada muuks.
Kuidas tekitada swap partitsioonile
Ütleme et, me tahame tekitada swapi partitsioonile hdb2
selleks
mkswap /dev/hdb2 |
Võtta swap kohe kasutusele
swapon /dev/hdb2 |
Et bootimisel võetaks swap hdb2 kasutusele selleks muuta faili /etc/fstab ja lisada sinna read
/dev/hdb2 swap swap defaults 0 0 |
Kuidas tekitada swap fail
Faili kasutada swap seadmena. Selleks tuleb teha 4 sammu
Tekitada sellise suurusega fail nagu vajad Teha sellest failist swap seade Lisada see swap fail süsteemi Teha muudatus permanentseks
Näiteks teeme 512 Mb swapi
Teeme /mnt/512Mb.swap swap faili ja paneme õigused nii, et kasutaja ei saa seda lugeda otse.
Käsud lähevad siis root kasutaja alt
dd if=/dev/zero of=/mnt/512Mb.swap bs=1M count=512 |
chmod 600 /mnt/512Mb.swap |
Kus count=512 tähendab seda, et meie fail sisaldab 512 blokki ja bloki suurus on bs=1Mb on 1 Megabait
Chmod 600 on vajalik selleks, et keelata kasutajatel lugemast sensitiivset infot swap failist
Tekitame swap seadme
Lisame swap faili jooksvasse süsteemi
swapon /mnt/512Mb.swap |
Tekitatud swap on nüüd saadaval ja seda on võimalik näha
Teeme muudatuse jäävaks
Selleks tuleb muuta /etc/fstab-i
Ja lisada sinna rida
/mnt/512Mb.swap none swap sw 0 0 |
Salvestada, peale järgmist restarti hakatakse swapi kasutama automaatselt
Kui me ei vaja enam swap seadet mille tekitasime siis tuleks käituda vastupidiselt
gedit /etc/fstab |
Eemaldada rida
mnt/512Mb.swap none swap sw 0 0 |
Eemalda swap fail jooksvast süsteemist
swapoff /mnt/512Mb.swap && rm /mnt/512Mb.swap |
Mis on swappimine ja kuidas seda muuta. Swappimine on parameeter kuidas kernel käitub mäluga. Ja kuidas liigutab andmeid RAM-ist swappi
Väärtused saavad olla 0-100
Swappimine 0 tähendab et, hoiduda swappimisest nii kaua kui võimalik Swappimine 100 et, kernel agresiivselt swapiks
Et vaadata hetkeväärtust
cat /proc/sys/vm/swappiness |
Muutmiseks
sysctl vm.swappiness=10 |
Püsivaks muutmiseks
gedit /etc/sysctl.conf |
lisada rida
vm.swappiness=10 |
Salvestada ja rebootida
Swapi kasutust saab kontrollida käsuga free
Kui swappi ei kasutata proovi panna tööle palju programme ja käivita käsk uuesti.
Kas mul on üldse swap partitsioon saab kontrollida käsuga fdisk –l
Isegi kui sul on palju RAM-i ja väike swappimise väärtus. On võimalik et, süsteem tegeleb ikka swappimisega ja see võib mõjutada sinu süsteemi jõudlust.
Selleks vältimiseks võib kasutada scripti mis tõstab automaatselt swapist tagasi RAM-i
Teha muudatused failis
gedit /usr/sbin/swap2ram.sh |
err="not enough RAM to write swap back, nothing done" mem=`free|grep Mem:|awk '{print $4}'` swap=`free|grep Swap:|awk '{print $3}'` test $mem -lt $swap && echo -e $err && exit 1 swapoff -a && swapon -a && exit 0 |
salvestada ja teha script käivitatavaks
chmod +x /usr/sbin/swap2ram.sh |
käivitada
usr/sbin/swap2ram.sh |
http://www.linuxjournal.com/article/10678
https://help.ubuntu.com/community/SwapFaq?highlight=%28%28SwapFaq%29%29
Märt Lindre AK21
Täiendab: Taavi Zeiger A21