Swap
Moderaator: Moderaatorid
Swap
Kas keegi räägiks/kirjutaks kusagil eesti keeles, mis on swap, mida ta teeb, milleks kasulik jne.
Siin kirjutatakse nt. swap failist. Mis see veel on?
Lühikesest seletusest, et see on abiks mälule ei piisa. Mul mälu kasutuses 60-70% ja swapi kautab 2%. Kena abi küll.
Ma tahaks teada, kuidas see asi töötab.
Siin kirjutatakse nt. swap failist. Mis see veel on?
Lühikesest seletusest, et see on abiks mälule ei piisa. Mul mälu kasutuses 60-70% ja swapi kautab 2%. Kena abi küll.
Ma tahaks teada, kuidas see asi töötab.
Viimati muutis kessu, 21.09.2010, 21:01, muudetud 2 korda kokku.
Olen umbkeelne mulk ja ei saa võõrastest keeltest piisavalt aru
See on pmst hädapärane mälu "laiendus" kõvakettal — kui mingi programmi mäluosa enam füüsilisse RAM-i ära ei mähu, kirjutatakse see (osaliselt) swap'i (ehk saalealale). Kuna kõvakettal on mälumoodulitega võrreldes väga palju ruumi, siis on seal n-ö käepärane tagavara; samas on kõvakettale kirjutamine ja sealt lugemine väga palju aeglasem kui mällu kirjutamine / mälust lugemine, seega võtab pidev swappimine arvutil "hinge kinni". (Ehk kui arvuti ikka pidevalt midagi swapib, tasuks mälu juurde osta.)
Teine asi, milleks saaleala kasutatakse, on sülearvutite talveuni. Selleks peab saaleala maht olema üksjagu suurem füüsilise mälu mahust ("kaks korda suurem" on vist levinud soovitus).
Ja swap-fail on lihtsalt saaleala, mis paikneb mitte eraldi partitsioonil, vaid kusagil failis. Väga mugav, kui nt vaja kiiresti saaleala mahtu suurendada, aga ei taha kõvaketta partitsioonidega jändama hakata. (Aga võib ka täiesti igapäevaselt saalepartitsiooni asemel kasutada.)
60–70% ja 2% kohta niipalju, et vaba mälu = raisatud mälu
ning tore ju, kui füüsilist mälu on piisavalt ja süsteem ei pea swappimist vajalikuks. Mtak tänapäeval (loe: kui RAM'i 2–3–4 GiB või rohkem) swap ongi enamasti selline "igaks juhuks" asi (v.a nt neil, kes talveund kasutavad).
Teine asi, milleks saaleala kasutatakse, on sülearvutite talveuni. Selleks peab saaleala maht olema üksjagu suurem füüsilise mälu mahust ("kaks korda suurem" on vist levinud soovitus).
Ja swap-fail on lihtsalt saaleala, mis paikneb mitte eraldi partitsioonil, vaid kusagil failis. Väga mugav, kui nt vaja kiiresti saaleala mahtu suurendada, aga ei taha kõvaketta partitsioonidega jändama hakata. (Aga võib ka täiesti igapäevaselt saalepartitsiooni asemel kasutada.)
60–70% ja 2% kohta niipalju, et vaba mälu = raisatud mälu
"Sleep, she is for the weak."
Swapfail on mälu "pikendus" see osa täitsa õige aga
vaidlen natuke ka vastu/lisan juurde:
*swapfail on pärit windowsist, kuna seal ta on tõesti dünaamiliselt muutuva suurusega FAIL, mis mõnusalt defragmenteerub ja siis läheb arvuti ekstra aeglaseks. Linuxis on asi lahendatud niimoodi, et on tekitatud eraldi partitsioon ja seal ta ei saagi defragmenteeruda... Saab kasutada ka faili kuid see ei ole traditsiooniline meetod...
*Kui mälu on piisavalt- üle 1GB ja kasutatakse swappi, siis ei ole asi mitte selles, et mälu on vähe vaid selles, et ubuntul on swappimine suuremaks keeratud. Seda kui kiiresti arvuti swappima hakkab saad ise määrata- ubuntul on see default 60, mina olen lapakatel/serveritel kasutanud 5-10 kanti (ehk võimalikult vähe swappida)
vm.swappiness=10 /etc/sysctl.conf on see koht kust seda muuta, otsi siit foorumist, siin on ka üks pikem jutt selle kohta, mille kirjutasin, või oli see äkki wikis, ei mäleta enam
EDIT: http://pingviin.org/viewtopic.php?t=4463
vaidlen natuke ka vastu/lisan juurde:
*swapfail on pärit windowsist, kuna seal ta on tõesti dünaamiliselt muutuva suurusega FAIL, mis mõnusalt defragmenteerub ja siis läheb arvuti ekstra aeglaseks. Linuxis on asi lahendatud niimoodi, et on tekitatud eraldi partitsioon ja seal ta ei saagi defragmenteeruda... Saab kasutada ka faili kuid see ei ole traditsiooniline meetod...
*Kui mälu on piisavalt- üle 1GB ja kasutatakse swappi, siis ei ole asi mitte selles, et mälu on vähe vaid selles, et ubuntul on swappimine suuremaks keeratud. Seda kui kiiresti arvuti swappima hakkab saad ise määrata- ubuntul on see default 60, mina olen lapakatel/serveritel kasutanud 5-10 kanti (ehk võimalikult vähe swappida)
vm.swappiness=10 /etc/sysctl.conf on see koht kust seda muuta, otsi siit foorumist, siin on ka üks pikem jutt selle kohta, mille kirjutasin, või oli see äkki wikis, ei mäleta enam
EDIT: http://pingviin.org/viewtopic.php?t=4463
Ma ei pidanud fragmentumist silmas, vaid puhtalt I/O-kiirustillukas kirjutas:Swapfail on mälu "pikendus" see osa täitsa õige aga
vaidlen natuke ka vastu/lisan juurde:
*swapfail on pärit windowsist, kuna seal ta on tõesti dünaamiliselt muutuva suurusega FAIL, mis mõnusalt defragmenteerub ja siis läheb arvuti ekstra aeglaseks. Linuxis on asi lahendatud niimoodi, et on tekitatud eraldi partitsioon ja seal ta ei saagi defragmenteeruda... Saab kasutada ka faili kuid see ei ole traditsiooniline meetod...
Oleneb ka, mida arvutiga tehakse — kui ikka tahta korraga OpenOffice'is midagi teha, mitmekümne kaardiga veebilehitsejat töös hoida ja nt VirtualBoxis teist OS'i ka veel jooksutada, siis jääb 2 GiB vaikselt väheks küllillukas kirjutas:*Kui mälu on piisavalt- üle 1GB ja kasutatakse swappi, siis ei ole asi mitte selles, et mälu on vähe vaid selles, et ubuntul on swappimine suuremaks keeratud. ...
Aga sellega olen nõus, et 'buntudel swappiness liigkõrge on. Omal see ammu ära krutitud, nii et ei tulnud enam meeldegi siia sellest kah kribada.
"Sleep, she is for the weak."
Sülearvutil 4GB RAM soovin 10 peale vm.swappiness määrata.
Aga failis /etc/sysctl.conf puudub vm.swappiness rida:
See õpetus soovitab:
Swap FAQ
Aga failis /etc/sysctl.conf puudub vm.swappiness rida:
Kas võin julgelt selle rea sinna alla kirjutada estobuntu 10.09 gnome puhul?#
# /etc/sysctl.conf - Configuration file for setting system variables
# See /etc/sysctl.d/ for additional system variables.
# See sysctl.conf (5) for information.
#
#kernel.domainname = example.com
# Uncomment the following to stop low-level messages on console
#kernel.printk = 4 4 1 7
##############################################################3
# Functions previously found in netbase
#
# Uncomment the next two lines to enable Spoof protection (reverse-path filter)
# Turn on Source Address Verification in all interfaces to
# prevent some spoofing attacks
#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1
# Uncomment the next line to enable TCP/IP SYN cookies
#net.ipv4.tcp_syncookies=1
# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1
# Uncomment the next line to enable packet forwarding for IPv6
#net.ipv6.conf.all.forwarding=1
###################################################################
# Additional settings - these settings can improve the network
# security of the host and prevent against some network attacks
# including spoofing attacks and man in the middle attacks through
# redirection. Some network environments, however, require that these
# settings are disabled so review and enable them as needed.
#
# Ignore ICMP broadcasts
#net.ipv4.icmp_echo_ignore_broadcasts = 1
#
# Ignore bogus ICMP errors
#net.ipv4.icmp_ignore_bogus_error_responses = 1
#
# Do not accept ICMP redirects (prevent MITM attacks)
#net.ipv4.conf.all.accept_redirects = 0
#net.ipv6.conf.all.accept_redirects = 0
# _or_
# Accept ICMP redirects only for gateways listed in our default
# gateway list (enabled by default)
# net.ipv4.conf.all.secure_redirects = 1
#
# Do not send ICMP redirects (we are not a router)
#net.ipv4.conf.all.send_redirects = 0
#
# Do not accept IP source route packets (we are not a router)
#net.ipv4.conf.all.accept_source_route = 0
#net.ipv6.conf.all.accept_source_route = 0
#
# Log Martian Packets
#net.ipv4.conf.all.log_martians = 1
See õpetus soovitab:
Swap FAQ
Re: Swap
Lühidalt on jah tegemist virtuaalse mälupuhvriga, toetamaks füüsilist mälu.kessu kirjutas:...
Siin kirjutatakse nt. swap failist. Mis see veel on?
....
Puhvrisse panakse reeglina alama prioriteedilised aktiivsed failid (kui nii võib öelda), kui füüsilist mälu hakkab väheks jääma või aktiivse osa kasutus koormab protsessorit ja esmaprioriteediliste failide võimalikuks laadeks hakkab ruumi väheks jääma.
Jah, SWAP on tunduvalt aeglasem kui aktiivmälu. SWAP-i laade aegu mõõdetakse millisekundites ja aktiivmälul nanosekundites.
Swap fail on võimalus kasutada saaleala süsteemis sees, ilma et selleks on eraldatud kõvakettale SWAP ala (näit kui Win-i formaaditud partitsioon on "seinast-seina" ja Linux on installitud Win partitsiooni sisse). Swap faili saab ka töötavale süsteemile lisaks eraldi luua ja määrata vastavalt ka laade prioriteete süsteemis.
Nii olen asjast aru saanud siiani.
Eelpool nimetatud fragmenteerumisest ei saa ma mõhkugi aru. Kuidas saab reastada asju kohal, mis ei oma formaati, nagu seda on SWAP ala kõvakettal
Aga eks targemad kommenteerivad.
Mõttetera: Kui tarkvara ei meeldi või ei sobi, tuleb valida teine tarkvara.
asjad siiski pigem fragmenteeruvad ja selle ärahoidmiseks on defragmentimineillukas kirjutas:Swapfail on mälu "pikendus" see osa täitsa õige aga
vaidlen natuke ka vastu/lisan juurde:
*swapfail on pärit windowsist, kuna seal ta on tõesti dünaamiliselt muutuva suurusega FAIL, mis mõnusalt defragmenteerub ja siis läheb arvuti ekstra aeglaseks. Linuxis on asi lahendatud niimoodi, et on tekitatud eraldi partitsioon ja seal ta ei saagi defragmenteeruda... Saab kasutada ka faili kuid see ei ole traditsiooniline meetod...
aga nii muuseas enda masina seis:
Kood: Vali kõik
$ free -m
total used free shared buffers cached
Mem: 2986 2557 428 0 154 709
-/+ buffers/cache: 1694 1292
Swap: 2047 404 1643
Kunagi, mõne aasta eest sai asja uuritud Win keskkonnas mõnede tasuliste ja kõvemate progedega. Linuxis pole jõudnud asjasse peensusteni süveneda.
Win-is siis, nähtav, mida Win ise pakub ja lihthaldurid näitavad on vaid osa kogu süsteemist. Tegelik on märksa suurem maht, kui vaikimisi näha. Koosneb: süsteem, kasutaja, rakendused, rakendustelt tulevad ajutised puhvrid ning veel mõned väiksemad osad. Kui vaikimisi näit oli näiteks ca 600MB, siis tegelik näit küündis üle 900MB. Ok, Win on üsna rohmakas asi ja too loeb korraga liialt palju käima, ning pool süsteemist on aktiivne; siit ka kohene näit käivitamisel SWAP alasse.
Ma kujutan ette, et Linux keskkonnas peaks jaotamise põhimõtte asi olema üsna sarnane, selle vahega et enamus süsteemi ei loeta korraga käima.
Arvan et kui süsteem koos kasutajaliidesega ja töötavad põhirakendused mahuvad mälu aktiivossa ära, siis vaevalt et jõudluses suurt vahet märkab, kui ka SWAP osas on 0 või 500MB.
Vaatasin just lihtsamat HTop-i Linuxis. Mul näitab rohelist osa, sinist ja lõpeb pruuniga (kuna pruun on lõpuni ja siis pakun et see on vaba osa mis käib lihtsalt CL taktiga kaasa). Kasutuses on väidetavalt 644MB, 2008MB-st (on kadunud 16MB, mis on arvatavalt veel millegi taga kinni); samas näitu vaadates, näitab "graafik" et üle poole on kasutuses.
Win-is siis, nähtav, mida Win ise pakub ja lihthaldurid näitavad on vaid osa kogu süsteemist. Tegelik on märksa suurem maht, kui vaikimisi näha. Koosneb: süsteem, kasutaja, rakendused, rakendustelt tulevad ajutised puhvrid ning veel mõned väiksemad osad. Kui vaikimisi näit oli näiteks ca 600MB, siis tegelik näit küündis üle 900MB. Ok, Win on üsna rohmakas asi ja too loeb korraga liialt palju käima, ning pool süsteemist on aktiivne; siit ka kohene näit käivitamisel SWAP alasse.
Ma kujutan ette, et Linux keskkonnas peaks jaotamise põhimõtte asi olema üsna sarnane, selle vahega et enamus süsteemi ei loeta korraga käima.
Arvan et kui süsteem koos kasutajaliidesega ja töötavad põhirakendused mahuvad mälu aktiivossa ära, siis vaevalt et jõudluses suurt vahet märkab, kui ka SWAP osas on 0 või 500MB.
Vaatasin just lihtsamat HTop-i Linuxis. Mul näitab rohelist osa, sinist ja lõpeb pruuniga (kuna pruun on lõpuni ja siis pakun et see on vaba osa mis käib lihtsalt CL taktiga kaasa). Kasutuses on väidetavalt 644MB, 2008MB-st (on kadunud 16MB, mis on arvatavalt veel millegi taga kinni); samas näitu vaadates, näitab "graafik" et üle poole on kasutuses.
Kood: Vali kõik
~ $ free -m
total used free shared buffers cached
Mem: 2008 1248 760 0 71 508
-/+ buffers/cache: 667 1341
Swap: 4957 0 4957
Mõttetera: Kui tarkvara ei meeldi või ei sobi, tuleb valida teine tarkvara.




