eppis Skrevet 26. februar 2007 Del Skrevet 26. februar 2007 tenkte jeg skulle lage en swap tråd... De fleste har vel vert borti den reglen at man burde ha dobbelt så stor swap som man har minne(RAM). men nå som dagens Distorer blir mere og mere avansert så kan da denne reglen umulig gjelde. sånn jeg har forstått det så burde swapen vertfall være stor nok til og takle en kernel dump. hvis ikke jeg har helt misforstått Så det jeg lurer på er vel hvor store swap filer bruker folk på servere. desktoper osv.. Lenke til kommentar
Marsan Skrevet 26. februar 2007 Del Skrevet 26. februar 2007 Auto-swap årninga til ubuntu er at den lager dobbelt størrelse og har vært en tommeregel lenge..men ettersom vi har fått større mengde ram så trengs ikke det å dobbles lengre. har du 1024 MB ram holder det med 512mb swap eller kanskje mindre Lenke til kommentar
dabear Skrevet 26. februar 2007 Del Skrevet 26. februar 2007 ER det så farlig hvor mye som går med til swap da? Jeg bare ofrer 1GiB som stadard uansett.. Lenke til kommentar
eppis Skrevet 26. februar 2007 Forfatter Del Skrevet 26. februar 2007 det er ikke alle distroer som har auto partisjon veldig mange text baserte distroer må du spesifisere swap størrelse selv. ER det så farlig hvor mye som går med til swap da? Jeg bare ofrer 1GiB som stadard uansett.. ja swap skal ikke være for stor og ikke for liten... begge to kan resultere i problemer. og har man en større swap en man trenger er det jo bare bortkasta plass. ikke at det er så sinsykt stort prob med dagens disker da det er derfor jeg lurer på hva den optimale swap størrelsen er med for eks 512, 1GB 2GB osv RAM Lenke til kommentar
Langbein Skrevet 27. februar 2007 Del Skrevet 27. februar 2007 For å si det sånn, swap-behovet ØKER ikke om man har mer RAM i maskinen, heller motsatt Derfor er denne berømte tommelfinger-regelen litt misvisende. Men den har nok en helt annen hensikt, nemlig å gjenspeile at minnebehovet går opp etter hvert som tida går, pga mer og mer fancy software som også krever mer minne. Derfor fant noen på en slik regel istedenfor å si at man trenger akkurat så mye, siden behovet er forskjellig i dag enn hva det var i 1990. Men på hovedmaskinen min som har 2GB RAM har jeg faktisk ikke giddet å lage noen swap-partisjon, og RAM-bruken har hele tiden holdt seg under 1GB selv ved relativt tung bruk, så det er ikke noen umiddelbar behov for swapping. Derimot har jeg noen eldre og mer slitne PCer med atskillig mindre RAM, og der har jeg vel ofte rundt 500MB swap. For all del, de fleste har nok diskplass i dag, så det er jo bare å lage en swappartisjon for sikkerhets skyld, men jeg vil bare poengtere at man ikke nødvendigvis trenger RAMx2. Tenk deg at du har 4GB RAM - da trenger man neppe 8 GB swap Lenke til kommentar
LessThanJake Skrevet 27. februar 2007 Del Skrevet 27. februar 2007 Jeg har to maskiner en med 1GB og en med 2.5GB RAM og stikk i mot de fleste råd har jeg ikke noe swap på noen av de. Har til gode å oppleve noen negative sider med et slikt oppsett. Tanken bak dette er som føger (tall fra 1GB maskinen): Under vanlig bruk bruker jeg ca 350MB minne og dersom jeg plutselig skulle trenge å bruke swap vil det si at et program bruker over 650MB minne. Ingen program jeg bruker vil finne på å bruke så mye minne, så hvis dette skjer er noe galt. Når Linux (kjernen altså ikke GNU/Linux) oppdager at den ikke kan swappe ut noe minne vil den drepe en prosess valgt ut i fra en del regler(niceverdi, minnebruk osv, se: oom_kill.c) for å frigi minne. I praksis vil det si prosessen som bruker 650MB minne. Hadde jeg derimot hatt en swap partisjon ville Linux startet å swappe og jeg måtte brukt mange minutter (sirup maskin) på å drepe prosessen manuellt. Selvsagt vil noen si at uten swap vil ikke Linux kunne swappe ut ting fra minne den aldri bruker, men det er ikke et problem når jeg uansett har mye ledig minne. Andre fordeler med å ikke ha swap er at harddisken ikke vil spinne opp like ofte, noe som resulterer i mindre støy og på bærbare lengre batterilevetid. Så for min del gir swap meg lite, men skaper en del problemer, derfor ungår swap når jeg kan. Og skulle jeg plutselig ha spesielle behov en dag er jo lit swap bare en swapon eller en linje i fstab unna (jeg har en partisjon på 256MB som ikke er i bruk). Lenke til kommentar
gxi Skrevet 27. februar 2007 Del Skrevet 27. februar 2007 Swapplassen brukes til mye, slik at man har faktisk behov for endel. Det lagres ramfser, f.eks /tmp og evt. /dev er ofte ramfser. initramfs brukes også på endel nyere distroer. Disse fyller dataene i minnet om det ikke er swap tilgjengelig, og i swap om den er tilgjengelig. Det er jo da litt dumt om filer /tmp skal ta opp det dyre minnet. Om man bruker suspend-to-disk må det være plass til både det som ellers ligger i swap, og det som ligger i minnet. Om man ikke har swap eller for lite swap går kernel ofte over i minnesparingsmodus, og vil prøve å bruke så lite minne som mulig. Dette påvirker ytelsen vesentlig, da caching nærmest blir deaktivert. Lenke til kommentar
LessThanJake Skrevet 27. februar 2007 Del Skrevet 27. februar 2007 Det jeg skrev var som sagt under forutsetningen av at man har nok minne selv når man tar i betraktning den ekstra minnebruken deaktivert swap gir. Hvorvidt det er dyrt eller ikke får man vel vurdere selv. Alle dine argumenter går jo bare på at å deaktiver swap gir mer minnebruk. Hvis man absolutt vil ha swap han man jo lage en ramdisk og bruke den som swap, men spør du meg ser jeg ikke vitsen med det. La oss si du har en pc med 512MB ram og 1GB (HD)swap. Hvis du putter inn 1GB mer minne og så deaktiverer swap, mener du da at maskinen vil yte dårligere? Hva mener du med minnesparingsmodus? Har ikke hørt om det før. Lenke til kommentar
eppis Skrevet 27. februar 2007 Forfatter Del Skrevet 27. februar 2007 takker for mange bra svar... Om man ikke har swap eller for lite swap går kernel ofte over i minnesparingsmodus, og vil prøve å bruke så lite minne som mulig. Dette påvirker ytelsen vesentlig, da caching nærmest blir deaktivert. lurte på dette jeg også... btw LessThanJake hvilken distro brukte du når du ikke hadde swap? Lenke til kommentar
gxi Skrevet 27. februar 2007 Del Skrevet 27. februar 2007 Det finnes ingen minnesparingsmodus, men det er bare et ord for å beskrive hva som i praksis skjer. Faktum er at kernelen må hele tiden ha minne ledig, hvis ikke vil det gå ufattelig treigt hver gang et program trenger minne. For å ha ledig minne må 1: Noe swappes, eller 2: Cache slettes. Om ikke nummer 1 er noe alternativ, er det bare nummer 2 som gjelder. Her kommer også ramfs inn i bildet. Kernel må bruke minne for å lagre data i f.eks /tmp og /dev. Dette er ikke optimalt, da dette minnet faktisk blir opptatt, og ikke kan bare slettes. Bare prøv.. om maskinen ikke har evig med minne; swapoff -a, og se hvordan det går med ytelsen. Det er mulig å modifisere hvordan kernel bruker swappen i noen /sys og /proc-filer. Det er en verdi man kan sette, også i sysctl tror jeg, som sier "hvor mye som skal til" før den bruker swap. Merk det at kernel sletter ikke dataene fra minnet når de swappes. De går bare over til "swap cache". De er da dobbeltlagret, slik at om det minnet trengs blir dataene bare slettet fra minnet. Om de swappede dataene skal leses/skrives til før de er blitt overskrevet leses/skrives det bare til det samme minneområdet, og dataene i swappen blir flushet om nødvendig. Dette gjør at ytelsen ikke nødvendigvis reduseres selv om den bruker swap. Lenke til kommentar
eppis Skrevet 27. februar 2007 Forfatter Del Skrevet 27. februar 2007 For å ha ledig minne må 1: Noe swappes, eller 2: Cache slettes. Om ikke nummer 1 er noe alternativ, er det bare nummer 2 som gjelder. Her kommer også ramfs inn i bildet. Kernel må bruke minne for å lagre data i f.eks /tmp og /dev. Dette er ikke optimalt, da dette minnet faktisk blir opptatt, og ikke kan bare slettes. Swapplassen brukes til mye, slik at man har faktisk behov for endel. da er jo swap seff og anbefale da. men så kommer jeg tilbake til det opprinnelige spørsmålet mitt hva blir da den optimale swap størrelsen med for eks 512MB 1GB 2GB etc.. RAM? spesielt når du sier at man har behov for en del. Lenke til kommentar
olefiver Skrevet 27. februar 2007 Del Skrevet 27. februar 2007 (endret) Hvis en bruker en suspend form som skriver til swap, er det anbefalt at swap da er 1,5 gang av RAM for å sikre at det er plass nok til å suspend til swap. Mulig det har forrandret seg litt iom nye suspend saken som er i kjerna nå... Så i teorien, hvis en har en arbeidsstasjon med 4 GB Ram og ønsker å kunne suspende den til swap, er det anbefalt at swap da er 8 GB. På den andre siden, hvor ofte suspender du en arbeidsstasjon som bruker nesten 100% av RAM når du suspenderer den? Endret 27. februar 2007 av olefiver Lenke til kommentar
gxi Skrevet 28. februar 2007 Del Skrevet 28. februar 2007 Jeg bruker alltid å legge 512MB i utgangspunktet på maskiner der ikke suspend-to-disk skal benyttes. Om jeg ser at den bruke mer utvider jeg bare. Om maskinen bruker LVM er det bare å utvide volumet, hvis ikke lager jeg bare swapfiler. Det er ikke noen grunn for en normal maskin uten debugging, osv. å kjøre med veldig mye swap. Siden Linux kan bruke swapfiler er det bare å utvide senere om man vil. Eksempel på hvordan man oppretter en swapfil på 512MB i /var/swap1 dd if=/dev/zero of=/var/swap1 bs=1M count=512 mkswap /var/swap1 swapon /var/swap1 Legg så følgende i /etc/fstab: /var/swap1 swap defaults 0 0 Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå