Erinevus lehekülje "Saal" redaktsioonide vahel

Allikas: Kuutõrvaja
(Sissejuhatus)
(Saali ehk swapi aktuaalsus tänapäeval)
11. rida: 11. rida:
 
===Saali ehk swapi aktuaalsus tänapäeval===
 
===Saali ehk swapi aktuaalsus tänapäeval===
  
kuna svap tehakse ikkagi piiratud suurusega partitsioonile, siis on ka selle partitsiooni suurus lõpuks piiratud ja sellega lõplik ka summaarne virtuaalmälu kogus, mida füüsilise mälu ja svapi koosluses saab kasutusele võtta. Ja kui see otsa lõpeb, siis on ikkagi jama majas. Kui korrektne olla, siis tänasel päeval server ei krässi, vaid hakkab mälupuudused omi protsesse tapma. Ja normaalolukorras sellise olukorrani ei jõutagi. Ja KUI jõutakse, siis see tähendab, et kusagil mälu lekib ning siis see juhtub senikaua, kuni KOGU mälu on otsas, sõltumata sellest, kui palju ma seda svappi tegin. Küsimus on lihtsalt selles, kas see juhtub varem või natukene hiljem.
+
kuna svap tehakse ikkagi piiratud suurusega partitsioonile, siis on ka selle partitsiooni suurus lõpuks piiratud ja sellega lõplik ka summaarne virtuaalmälu kogus, mida füüsilise mälu ja svapi koosluses saab kasutusele võtta. Ja kui see otsa lõpeb, siis on ikkagi jama majas. Kui korrektne olla, siis tänasel päeval server ei krässi, vaid hakkab mälupuudused omi protsesse tapma. Ja normaalolukorras sellise olukorrani ei jõutagi. Ja KUI jõutakse, siis see tähendab, et kusagil mälu lekib ning siis see juhtub senikaua, kuni KOGU mälu on otsas, sõltumata sellest, kui palju ma seda svappi tegin. Küsimus on lihtsalt selles, kas see juhtub varem või natukene hiljem
 
 
Serveri puhul on swapil seetõttu jumet, et enamik asju mis mällu laetakse lihtsalt munevad seal ja võiks parema kettapuhverdamise huvides välja visata. Nimelt kasutab Linux alati kogu vaba mälu kettapuhvrina ja vaikimisi on swappimine just suurt munevate protsesside arvu arvestades väga agressiivseks seatud.
 
 
 
Igaks juhuks võid ilma swapita jooksutades sysctl-i abil vm.swappiness=0 peale sättida.
 
 
 
Ja tegelikult on mälupuuduses vaevlev JA meeletult svappiv süsteem oluliselt unresponcive, kui lihtsalt mälupuuduses süsteem. Näiteks olukorras, kus on vaja SSH-ga ligi minna ja uurida, milles värk on.
 
 
 
...
 
  
 
Jõude seisvaid mälu-lehekülgi svapitakse välja, et teha ruumi kettapuhvritele või muule, mis parasjagu mälu rohkem vajavad. Väidetakse ka, et tegemist Linuxi mäluhalduse eripäraga ja kui svappi ei tee, siis tabavad tõsised performance-probleemid (iga Linuxi install ütleb ju seda!). Ja et kui mälu juhtub ikkagi otsa saama, siis server krässib.
 
Jõude seisvaid mälu-lehekülgi svapitakse välja, et teha ruumi kettapuhvritele või muule, mis parasjagu mälu rohkem vajavad. Väidetakse ka, et tegemist Linuxi mäluhalduse eripäraga ja kui svappi ei tee, siis tabavad tõsised performance-probleemid (iga Linuxi install ütleb ju seda!). Ja et kui mälu juhtub ikkagi otsa saama, siis server krässib.
27. rida: 19. rida:
 
Serverid on tavaliselt aga optimeeritud ja tuunitud ja hoolika adminni poolt kontrollitud, et seal töötavad ainult need protsessid mis vaja (ja need ise on ka tuunitud, et nad ei teeks midagi liigset).
 
Serverid on tavaliselt aga optimeeritud ja tuunitud ja hoolika adminni poolt kontrollitud, et seal töötavad ainult need protsessid mis vaja (ja need ise on ka tuunitud, et nad ei teeks midagi liigset).
  
Seetõttu serverites tavapärast swappimist kettapuhvrite nimel palju ei toimu.
+
Seetõttu serverites tavapärast swappimist kettapuhvrite nimel palju ei toimu. Lisaks, tuginedes aastatetagusele kogemusele suure veebiserveriga-ga, see olukord, kus RAM saab täis aktiivses kasutuses olevat mälu ja seda hakatakse juba otsast swappi kirjutama ja järgmisel hektel sealt siis lugema - selle puhul on asi juba lootusetu ja tegelikult, ma usun, taastuks süsteem kiiremini, kui tal üldse swappi poleks. Pika koomlemise asemel tapaks lihtsalt läbustaja ära ja asi korras.
 
 
Lisaks, tuginedes aastatetagusele kogemusele suure veebiserveriga-ga, see olukord, kus RAM saab täis aktiivses kasutuses olevat mälu ja seda hakatakse juba otsast swappi kirjutama ja järgmisel hektel sealt siis lugema - selle puhul on asi juba lootusetu ja tegelikult, ma usun, taastuks süsteem kiiremini, kui tal üldse swappi poleks. Pika koomlemise asemel tapaks lihtsalt läbustaja ära ja asi mutt.
 
 
 
Desktopi osas aga vastaks nii, et RAM on küll odav, kuid HDD on ikkagi odavam. Ja 8 GM RAM raha eest saab 60 GB SSD-d või 1 TB HDD-d.
 
  
Desktoppides on oluliselt rohkem rakendusi, mis tarbivad palju mälu, kuid mis ei kasuta seda pidevalt. Seega on seal palju mälulehti, mida tasub kettapuhvride suurendamise nimel välja saalida.
+
Ühesõnaga sawpi vajadus tänapäevastel serveritel on kaheldav ning üle 2GB ei maksa seda teha enam kuhugi. Kui sul on 24-48 GB mäluga server, siis ka RAM=swap lahendusega läheb mälulekkega swapima hakates masin nii kooma et sellega pole midagi võimalik teha. 2GB on aga kõhutunde järgi enam-vähem paras turvapadi.
  
Üle 2GB ei tee enam kuhugi. Kui sul on 24-48 GB mäluga server, siis ka
+
Desktoppides on oluliselt rohkem rakendusi, mis tarbivad palju mälu, kuid mis ei kasuta seda pidevalt. Seega on seal palju mälulehti, mida tasub kettapuhvride suurendamise nimel välja saalida. Samas ka swappivas Desktopis ei ole võimalik töötada (minuarust isegi mitte
RAM=swap lahendusega läheb mälulekkega swapima hakates masin nii kooma
+
SSDga).  
et sellega pole midagi võimalik teha. 2GB on kõhutunde järgi enam-vähem
 
paras turvapadi.
 
  
Swappivas Desktopis ei ole võimalik töötada (minuarust isegi mitte
+
Seega, kui desktopi masinas on swap olemas, siis olgu vm.swappiness = 10 või isegi 0 Põhjus on see, et tööjaamas "munevad" ka "vajalikud" asjad (brauser, desktop jne) ning kuradi tüütu on pärast paaritunnist pausi arvuti juurde tagasi tulla ja peale hiire liigutamist oodata kuidas screensaver ja ülejäänud osa desktoppi swapist tagasi mällu krõbistatakse.
SSDga). See on ilmselt nagu kasutaks Windows Vistat masinas, mis täidab
 
Windows NT miinimumnõuded.
 
  
Seega, kui sa just ei testi mälulekitamise rakendusi, ütleksin et swap
+
Kogu jutu kokkuvõtteks oleks, et pisike swap võiks olla ja seda eelkõige just desktopis. Serverites võib julgemalt ära jätta, seal kipub mälu otsasaamine olema juba märk kroonilisest lekkest ja siis on hea kui jama maha lüüakse swapimise asemel (sekkub OOM Killer).
desktopis on mõttetu.
 
  
Pidevalt muidugi mitte, aga kui korraks mingi suur asi lahti läheb, siis
+
Serveris võiks igaks juhuks ilma swapita jooksutades sysctl-i abil vm.swappiness=0 peale sättida.
ei tapa oomkiller kohe maha ja saab selle teatava venivusega üle elada.
 
Ehk siis pisike swap minu arust võiks olla ja seda eelkõige just
 
desktopis. Serverites võib julgemalt ära jätta, seal kipub mälu
 
otsasaamine olema juba märk kroonilisest lekkest ja siis on hea kui jama
 
maha lüüakse swapimise asemel.
 
  
 
===Partitsiooni kasutamine saalina===
 
===Partitsiooni kasutamine saalina===

Redaktsioon: 20. oktoober 2012, kell 13:24

Sissejuhatus

Nagu paljud UNIXilised võimaldab ka Linux kasutada füüsilise sisemälu (RAM) "pikenduseks" kõvaketast. Kõvaketta piirkonda mida operatsioonisüsteem käsitleb efektiivselt mäluna nimetatakse saaliks. Sisemälu ja saal moodustavad kokku arvuti efektiivse mälu. Töötavad programmid hoolivad arvuti efektiivsest mälust, vaatamata sellele, et saal toimib umbes tuhat korda rahulikamalt sisemälust.

Algse reeglina määrati saali suuruseks topelt sisemälu maht, näiteks omades sisemälu 64 MB tuleks tekitada 128 MB suurune saal. Saali suurus võiks olla arvu neli kordne.

Saal võib asuda failisüsteemi failis või eraldi partitsioonil. Kui süsteemis on mitu füüsilist kõvaketast, siis on mõtekas tekitada mitu saali erinevatele ketastele, eelistatult partitsioonina.

Linux võimaldab kuni 8 saali korraga kasutamist.

Saali ehk swapi aktuaalsus tänapäeval

kuna svap tehakse ikkagi piiratud suurusega partitsioonile, siis on ka selle partitsiooni suurus lõpuks piiratud ja sellega lõplik ka summaarne virtuaalmälu kogus, mida füüsilise mälu ja svapi koosluses saab kasutusele võtta. Ja kui see otsa lõpeb, siis on ikkagi jama majas. Kui korrektne olla, siis tänasel päeval server ei krässi, vaid hakkab mälupuudused omi protsesse tapma. Ja normaalolukorras sellise olukorrani ei jõutagi. Ja KUI jõutakse, siis see tähendab, et kusagil mälu lekib ning siis see juhtub senikaua, kuni KOGU mälu on otsas, sõltumata sellest, kui palju ma seda svappi tegin. Küsimus on lihtsalt selles, kas see juhtub varem või natukene hiljem

Jõude seisvaid mälu-lehekülgi svapitakse välja, et teha ruumi kettapuhvritele või muule, mis parasjagu mälu rohkem vajavad. Väidetakse ka, et tegemist Linuxi mäluhalduse eripäraga ja kui svappi ei tee, siis tabavad tõsised performance-probleemid (iga Linuxi install ütleb ju seda!). Ja et kui mälu juhtub ikkagi otsa saama, siis server krässib.

Päris nii see tegelikult pole. Põhjus miks see soovitus ikka veel "elus" on on hiberneerimine. Nimelt ei kirjuta Linux mälutõmmist mitte eraldi faili vaid hiberneerimiskäsu saades swapib kõigepealt kõik asjad välja ja siis salvestab protsessori registrid ja muud viimased nipet-näpet sinna otsa eraldi kohta. On selge, et kui swappi on liiga vähe, siis hiberneerimine ei õnnestu.

Serverid on tavaliselt aga optimeeritud ja tuunitud ja hoolika adminni poolt kontrollitud, et seal töötavad ainult need protsessid mis vaja (ja need ise on ka tuunitud, et nad ei teeks midagi liigset).

Seetõttu serverites tavapärast swappimist kettapuhvrite nimel palju ei toimu. Lisaks, tuginedes aastatetagusele kogemusele suure veebiserveriga-ga, see olukord, kus RAM saab täis aktiivses kasutuses olevat mälu ja seda hakatakse juba otsast swappi kirjutama ja järgmisel hektel sealt siis lugema - selle puhul on asi juba lootusetu ja tegelikult, ma usun, taastuks süsteem kiiremini, kui tal üldse swappi poleks. Pika koomlemise asemel tapaks lihtsalt läbustaja ära ja asi korras.

Ühesõnaga sawpi vajadus tänapäevastel serveritel on kaheldav ning üle 2GB ei maksa seda teha enam kuhugi. Kui sul on 24-48 GB mäluga server, siis ka RAM=swap lahendusega läheb mälulekkega swapima hakates masin nii kooma et sellega pole midagi võimalik teha. 2GB on aga kõhutunde järgi enam-vähem paras turvapadi.

Desktoppides on oluliselt rohkem rakendusi, mis tarbivad palju mälu, kuid mis ei kasuta seda pidevalt. Seega on seal palju mälulehti, mida tasub kettapuhvride suurendamise nimel välja saalida. Samas ka swappivas Desktopis ei ole võimalik töötada (minuarust isegi mitte SSDga).

Seega, kui desktopi masinas on swap olemas, siis olgu vm.swappiness = 10 või isegi 0 Põhjus on see, et tööjaamas "munevad" ka "vajalikud" asjad (brauser, desktop jne) ning kuradi tüütu on pärast paaritunnist pausi arvuti juurde tagasi tulla ja peale hiire liigutamist oodata kuidas screensaver ja ülejäänud osa desktoppi swapist tagasi mällu krõbistatakse.

Kogu jutu kokkuvõtteks oleks, et pisike swap võiks olla ja seda eelkõige just desktopis. Serverites võib julgemalt ära jätta, seal kipub mälu otsasaamine olema juba märk kroonilisest lekkest ja siis on hea kui jama maha lüüakse swapimise asemel (sekkub OOM Killer).

Serveris võiks igaks juhuks ilma swapita jooksutades sysctl-i abil vm.swappiness=0 peale sättida.

Partitsiooni kasutamine saalina

Saali tekitamisel markeeritakse vastav partitsioon kusjuures hävivad seal olnud andmed. Partitsioonile soovitakse omistada vastav tüüp - 82. Tehke seda näiteks programmi Fdisk abil.

Näiteks otsustades markeerida partitsioon /dev/hda6 saalina anke korraldus

bash# mkswap /dev/hda6

Faili kasutamine saalina

Kasutamaks saalina 64MB faili tekitage esmal fail, näiteks selliselt

bash# dd if=/dev/zero of=/saal1 bs=1024 count=65536

ning seejärel markeerige

bash# mkswap /saal1                    
Setting up swapspace version 0, size = 67104768 bytes

Saale tuleb vaid üks kord markeerida, mitte enne iga kasutuselevõttu.

Saali kasutuselevõtt

Saali kasutuselevõtmisega näidatakse operatsioonisüsteemile, et ta võib vastavat seadet või faili saalina tarvitama hakata ning nii suureneb arvuti efektiivse mälu hulk.

Näiteks võtame kasutusele loodud saali faili /saal1

bash# swapon /saal1

Soovides uurida kas arvuti efektiivse mälu hulk muutus kasutage käsku top ja free.

Saali kõrvaldamiseks kasutage käsku swapoff, näiteks

bash# swapoff /saal1

Kui saal asub partitsioonil on otstarbekas ta kasutusele võtta juba süsteemi käivitumise ajal. Selleks lisage /etc/fstab faili vastav rida, näiteks

/dev/hda6       swap        swap        defaults   0   0

Kui saal asub failis, siis lisage vastav käsk süsteemi sobivasse käivitusskripti, näiteks /etc/rc.d/rc.local.