Linux saaleala ehk swap: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
 
(25 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 nimetatakse virtuaalmäluks. Kõvakettal olevat ruumi mida kutsutakse virtuaalmäluks nimetatakse saalealaks ingk. SWAP SPACE . 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.
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. Soovitatavalt 2xRAM. Kuigi tänapäeval tuleb vaadata loogiliselt mis programmid jooksevad masinas ja kui palju mälu oleks reaalselt vaja. Kogemustele tuginedes.
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
|}




Line 24: Line 48:


Faili kasutada swap seadmena.
Faili kasutada swap seadmena.
Selleks tuleb teha 4 sammu
Selleks tuleb teha 4 sammu


Line 31: Line 54:
Lisada see swap fail süsteemi
Lisada see swap fail süsteemi
Teha muudatus permanentseks
Teha muudatus permanentseks


'''Näiteks teeme 512 Mb swapi'''
'''Näiteks teeme 512 Mb swapi'''
Line 38: Line 62:
Käsud lähevad siis root kasutaja alt
Käsud lähevad siis root kasutaja alt


''dd if=/dev/zero of=/mnt/512Mb.swap bs=1M count=512''
{|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;" |dd if=/dev/zero of=/mnt/512Mb.swap bs=1M count=512
|}
 
 
{|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 600 /mnt/512Mb.swap
|}


''chmod 600 /mnt/512Mb.swap''




Line 49: Line 79:
Tekitame swap seadme
Tekitame swap seadme


''Mkswap /mnt/512Mb.swap''


Lisame swap faili jooksvasse süsteemi
Lisame swap faili jooksvasse süsteemi


''swapon /mnt/512Mb.swap''
{|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 /mnt/512Mb.swap
|}


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  


''cat /proc/meminfo''


Teeme muudatuse jäävaks
Teeme muudatuse jäävaks


Selleks tuleb muuta /etc/fstab-i
Selleks tuleb muuta /etc/fstab-i
''gedit /etc/fstab''


Ja lisada sinna rida
Ja lisada sinna rida


''/mnt/512Mb.swap  none  swap  sw  0 0''
{|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;" |/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
{|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/fstab
|}


''gedit /etc/fstab''


Eemaldada rida
Eemaldada rida


''mnt/512Mb.swap  none  swap  sw  0 0''
{|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;" |mnt/512Mb.swap  none  swap  sw  0 0
|}
 


Eemalda swap fail jooksvast süsteemist
Eemalda swap fail jooksvast süsteemist


''swapoff /mnt/512Mb.swap && rm /mnt/512Mb.swap''
{|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
|}
 
 


Mis on swappimine ja kuidas seda muuta.
Mis on swappimine ja kuidas seda muuta.
Line 96: Line 135:
Et vaadata hetkeväärtust
Et vaadata hetkeväärtust


''cat /proc/sys/vm/swappiness''
{|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




Püsivaks muutmiseks


''gedit /etc/sysctl.conf''
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
|}


lisada rida


''vm.swappiness=10''


Salvestada ja rebootida


Swapi kasutust saab kontrollida käsuga free
Püsivaks muutmiseks


Kui swappi ei kasutata proovi panna tööle palju programme ja käivita käsk uuesti.
{|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
|}


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õib kasutada scripti mis tõstab automaatselt swapist tagasi RAM-i
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
|}


''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''


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
{|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}'`


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


{|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


{|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]]
 
 
https://help.ubuntu.com/community/SwapFaq?highlight=%28%28SwapFaq%29%29
Märt Lindre AK21

Latest revision as of 13: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