Gå til innhold

Er swap-partisjon i linux nødvendig?


Anbefalte innlegg

36 processes: 33 sleeping, 3 running, 0 zombie, 0 stopped

CPU states: 0.0% user, 0.0% system, 100.0% nice, 0.0% idle

Mem: 8012252K total, 321924K used, 7690328K free, 98844K buffers

Swap: 2097136K total, 0K used, 2097136K free, 111976K cached

 

Har enda ikke opplevd å ha brukt swap'en på debian boxen min :-)

Lenke til kommentar
Videoannonse
Annonse
Prøvde å kjøre uten swap for noen dager siden, og endte med at Beagle locket opp hele maskinen. Fungerte helt fint med swap igjen. Endte med at jeg laget en ny swap som var dobbelt så stor som den hadde vært før... :cool:

Hmm, det må være en bug. På den gamle maskina (256mb ram+256mb swap tror jeg) hendte det at jeg hadde litt vel mange rare ting oppe og kjøre samtidig (og 40 sider oppe i opera hjelper sikkert ikke), så når f.eks. xmms skulle søke etter mp3er over hele harddisken (eller hva det nå var) hendte det at hele maskinen hang seg i noen sekunder før x antall prosesser ble drept og alt gikk tilbake til normalt. Så når det kommer til fullt minne har jeg gode erfaringer med Linux sin håndtering.

 

Det som GNU/Linux derimot ikke håndterer bra er når man går tom for diskplass. Jeg har vært borti det flere ganger før, og det virker som om ingenting tar høyde for at noe slikt kan skje, så alle programmer får totalt spader. Jeg husker ikke lenger akkurat hva som skjedde, om programmer begynte å henge seg eller hva det var, men det var ikke det jeg hadde forventet i hvert fall.

 

På min lille lekeserver:

cronius@duronduron:~ $ uptime
11:39:58 up 12 days, 13:35,  1 user,  load average: 0.22, 0.15, 0.04
cronius@duronduron:~ $ free -m
            total       used       free     shared    buffers     cached
Mem:           124        122          1          0          2         45
-/+ buffers/cache:         74         49
Swap:          488         23        464
cronius@duronduron:~ $ 

På hovedpcen:

[cronius@cronihome cronius]$ uptime
11:38:43 up  2:40,  4 users,  load average: 0.20, 0.08, 0.02
[cronius@cronihome cronius]$ free -m
            total       used       free     shared    buffers     cached
Mem:           504        365        138          0         71        130
-/+ buffers/cache:        163        340
Swap:          256          0        256

(Begge ubuntu forøvrig)

Lenke til kommentar

Jeg har 1GiB swap, fordi jeg liker å holde meg til runde tall.

Det hender den brukes en del av ettersom jeg liker å la pcen stå på i flere dager, og det hender jeg kjører tunge programmer.

Bruker pc-emulatorer (vmware, bochs og qemu) en del, og hvis jeg kjører opp en virtuell pc med mye ram så bruker jo den en del minne, som igjen fører til at inaktive programmer swappes ut.

 

Nå har jeg en uptime bare i overkant av et døgn, og jeg har ikke kjørt spesielt tunge programmer siden boot, likevel brukes en del swap:

             total       used       free     shared    buffers     cached
Mem:           501        453         48          0         27        103
-/+ buffers/cache:        322        179
Swap:         1035        232        802

Lenke til kommentar

For stadig flere vil det gå helt greit uten swap. Som regel. Og mye bruk av swapping under normal drift er gjerne et tegn på at noe er galt, eller iallfall ikke optimalt. Dessuten trenger en ikke sette av en egen partisjon til swap, men ved behov sette av området i ei fil, på samme måte som i Windows. Ved dual-boot med Windows kan en også dele swap-området.

 

Så er det spørsmål hvor lurt det er å kutte ut swappen. I blant kan en trenge mye mer minne enn det som er fysisk tilgjengelig. Databasetabeller er nevnt, søkeoperasjoner, kompilering og virtuelle maskiner er andre eksempler. Ved overbelastning, vil systemet som regel knele langsomt når det fins swap, mens prosesser plutselig drepes uten swap. For meg blir det også litt lotteri å overlate til kernel å bestemme hva som skal drepes. I de fleste tilfeller (men ikke alle!) er langsom kneling å foretrekke, dessuten kan det være funksjonalitet som "krever" swap. Jeg veit ikke hvordan "over-commit"-problematikken i kernel er i 2.6, men i 2.4 var swap viktigere enn i 2.2 bl.a pga endra commit-strategi.

 

Jeg har satt av veldig mye swap fast både fordi jeg skal kunne lage DVD-images og partisjonen skal kunne brukes til noe annet seinere uten repartisjonering. Sånn ser det ut akkurat nå, Mdk 10.1. Lite brukte sider legges ut på swap for å cache diskaksesser. Uten swap ville disse sidene konkurrert med ramdisk-funksjonen til minnet :

 

[trd@anton trd]$ free
            total       used       free     shared    buffers     cached
Mem:        516092     512544       3548          0      13092      60884
-/+ buffers/cache:     438568      77524
Swap:      2473928     390740    2083188

 

Bortsett fra at minne i dag er ca 500x dyrere (og tilsvarende raskere..) enn diskplass, er det ikke nødvendigvis dumt å dimensjonere minnet f.eks 2x max normal belastning, for da kommer en ganske nær et ramdisk-basert system! Men for meg blir det da litt tøysete om en vil spare diskplass for en tier på swap etter at en har dytta inn RAM for en tusenlapp.

Lenke til kommentar

Jeg lurer litt på hvordan firefox håndterer minne. Her er toppen av top-lista akkurat nå:

 

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                            
3315 root      16   0  243m  86m  48m R  8.3 17.2  45:29.51 X                                                   
6328 trd        15   0  417m 222m  34m S  7.9 44.2  80:00.40 firefox-bin                                         
4964 trd        15   0  3548 1372 2776 S  0.7  0.3   0:00.15 rxvt.bin                                            
3882 trd         15   0 28700 7760  16m S  0.3  1.5   0:34.36 mdkapplet      

 

Her ser det ut til at X og firefox til sammen bruker 660 MB virtuelt minne, det er 20 sider oppe i firefox. Ville dette gått like greit eller greiere uten swap?

Lenke til kommentar

Ser ut som at det er ganske delt her. Selv bruker jeg sjelden swap, og i dag har jeg ikke brukt noe i det hele tatt. Blir ikke mer klok akkurat. Tror jeg kjøper mer minne snart. Har hørt at Samsung skal slutte å produsere TCCD-brikkene, og da må jeg sikre meg like brikker som jeg har fra før (Corsair TWINX-PRO3200XL 1024 MB), slik at jeg slipper å kjøpe tregt minne senere.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...