Gå til innhold

[Løst]Er 64bit bedre enn 32bit?


Anbefalte innlegg

Videoannonse
Annonse
Jeg har en VPS fra Slicehost. Alle VPSer der er 64-bit, og leveres med f.eks 256 eller 512MB RAM. Ved å lage et 32-bit "chroot", gikk jeg fra å swappe bare ved å kjøre mailserver, til å kunne kjøre både mailserver og webserver uten å swappe. Ergo - høyt minneforbruk er ikke en fordel.

hvorfor skal du ikke Swappe? swapping er win. ting skal liksom gå fortere når du swapper og bruker mye minne. slik er det iallfall her.

 

Tuller du? Hvis du har programvare som kjører, men er inaktivt over svært lang tid, kan swapping ha noe for seg. I de fleste tilfeller blir det dog disk-IO vs minne-IO, altså David vs Goliat. Før jeg gjorde om så VPSen ikke swappet kunne en enkel HTTP-request ta 20+ sekunder (apache måtte swappe fra disk til minne). Jeg kan ikke på noen måte se hvordan det kan være "win". Etter denne swappingen var HTTP-requests raske - inntil jeg mottok en mail - da mailserveren ble swappet inn, og apache ble swappet ut. Det er altså for lite minne til å kjøre 64-bit effektivt, og masse å spare ytelsesmessig på å kjøre 32-bit programvare (I dette spesifikke tilfellet her).

Lenke til kommentar

Selv uten 4Gb+ med minne så kan man dra fordel av noen av fordelene med 64 bits system, blandt annet at applikasjoner kan bruke større minnemengde inklusivt swap fila uten å krasje.

 

32bits system har en maks minne footprint per apps på 3.x Gb størrelse og mange apps krasjer med en gang man begynner å komme opp i maks størrelse på denne fila, dette problemet forsvinner på et 64 bits os selv med mindre minne.

 

Edit : Selvsagt så lenge programmene er programert for det og i 64bits eller patchet for å greie det.

Endret av Malvado
Lenke til kommentar
Har 6GB ram, så har skrudd av swapping helt. Ram er så billig for tiden at det ikke er noen grunn til ikke å ha mye ram hvis man skal investere i nytt utstyr.

 

Et lite tips : Det er bedre å ha litt swap enn ingen swap...

Avhengig av windows versjonen så vil den fysiske swap fila bli prioritert forskjellig, dvs den vil som regel kun bli tatt i bruk når du går tom for fysisk minne.

Lenke til kommentar
32bits system har en maks minne footprint per apps på 3.x Gb størrelse

 

med highmem og pae så kan du bruke 4gb per applikasjon og opptil 64gb ram totalt.

 

Og hvorfor tror du dette ikke er brukt egentlig ?

Pae er rett og slett noe herk, fungerer svært dårlig og er buggete inni helvete, i alle fall på windows 64.

Ren 32bits os har rett og slett ikke nok minneaddressering out of the box og Pae er en stygg hack som ikke fungerer helt bra på windows i alle fall.

Lenke til kommentar
Har 6GB ram, så har skrudd av swapping helt. Ram er så billig for tiden at det ikke er noen grunn til ikke å ha mye ram hvis man skal investere i nytt utstyr.

 

Et lite tips : Det er bedre å ha litt swap enn ingen swap...

Avhengig av windows versjonen så vil den fysiske swap fila bli prioritert forskjellig, dvs den vil som regel kun bli tatt i bruk når du går tom for fysisk minne.

 

I Windows er det lurt med swap uansett ja, men ... ser ingen grunn til å bruke det i Linux. :)

Lenke til kommentar
hvor relevant er ditt eksempel for en kid som kjører WoW, Firefox og Amarok? i det tilfellet er Swapping win.

Swapping kan aldri bli win. Det betyr jo at deler av det som ligger i ram blir mellomlagret på harddisken. HD er svinaktig tregt sammenlignet med ram. Hvis det er behov for swapping, så har du generelt for lite minne. Kan se nytten i at inaktive programmer blir "dumpet" til swap, slik at aktive programmer får mest mulig minne å jobbe med. Men det bør aldri bli slik at aktive programmer må benytte seg av swap, da blir det tregt.

Lenke til kommentar
Og hvorfor tror du dette ikke er brukt egentlig ?

Pae er rett og slett noe herk, fungerer svært dårlig og er buggete inni helvete, i alle fall på windows 64.

Ren 32bits os har rett og slett ikke nok minneaddressering out of the box og Pae er en stygg hack som ikke fungerer helt bra på windows i alle fall.

 

at det suger i Windows får være Windowsbrukere sitt problem. har aldri hatt et problem med det selv.

 

 

Swapping kan aldri bli win. Det betyr jo at deler av det som ligger i ram blir mellomlagret på harddisken. HD er svinaktig tregt sammenlignet med ram. Hvis det er behov for swapping, så har du generelt for lite minne. Kan se nytten i at inaktive programmer blir "dumpet" til swap, slik at aktive programmer får mest mulig minne å jobbe med. Men det bør aldri bli slik at aktive programmer må benytte seg av swap, da blir det tregt.

 

Swapping er kjempewin om du har lite RAM. da kan du godt starte GIMP og gjøre din redigering uten at du må avslutte Firefox og Amarok først, da disse bare blir skyvet over på Swap.

Lenke til kommentar
at det suger i Windows får være Windowsbrukere sitt problem. har aldri hatt et problem med det selv.

 

Måten du konsekvent uttaler deg på gjør at du både forvirrer og misleder , Selvsagt kan jeg være klarere selv, men du bør også huske at 88.7% av brukermassen benytter seg av windows (kontra 2.16% linux http://www.w3counter.com/globalstats.php )og tenker først på windows når det gjelder data.

Lenke til kommentar
Swapping er win om du:

a) Har lite RAM.

b) Har nok RAM til å kjøre alle aktive programmer uten å swappe mellom dem.

 

Er ikke begge disse kriteriene oppfylt, har du for lite RAM.

 

og per idag har de fleste nok RAM til dette. å si at 2gb RAM er for lite til å kjøre Firefox og Amarok samtidig er drøyt. iallfall når jeg gjorde det i mange år med både 512mb og 1gb, og senere altså 2gb.

 

 

Måten du konsekvent uttaler deg på gjør at du både forvirrer og misleder , Selvsagt kan jeg være klarere selv, men du bør også huske at 88.7% av brukermassen benytter seg av windows (kontra 2.16% linux http://www.w3counter.com/globalstats.php )og tenker først på windows når det gjelder data.

 

dette er et GNU/Linux forum. her er vi klar over ta Windows suger. du trenger ikke klargjøre det for oss ved å poengtere hvor ubrukelig det er på samtlige punkter. vi er også klar over at Windows er nesten ti år etter GNU/Linux på 64-bit fronten.

Lenke til kommentar
Swapping er win om du:

a) Har lite RAM.

b) Har nok RAM til å kjøre alle aktive programmer uten å swappe mellom dem.

 

Er ikke begge disse kriteriene oppfylt, har du for lite RAM.

Det er alltid for lite hovedminne akkurat som det alltid er for lite cache på harddisk, CPU og andre enheter. Å swappe ut prosesser er nesten utelukkende hensiktsmessig siden minnet gjør mer nytte for seg til å inneholde større/flere I/O-buffere.

---

Man kan undersøke om gjennomflyten i systemet er redusert pga. trashing ved å se på output fra vmstat:

procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r  b   swpd   free   buff  cache   si   so	bi	bo   in   cs us sy id wa
0  0	  0 441884 174792 2814448	0	0	 0	 3	8   21  7  1 92  0

wa-feltet avslører at i sampleintervallet så ble 0% CPU-tid kastet bort på å vente på I/O.

 

Spørsmålet om nøyaktig når swapping er fordelsmessig er ikke lett. Spesielt hvis man tar hensyn til "peaks" i arbeidslast: Hvis jeg kjører en minnekrevende prosess (utpakking av en stor arkivfil) en sjelden gang, så er det bare et tidsspørsmål før sideutvekslingsmekanismen hiver ut andre prosesser og forkaster "opparbeidede" I/O-buffere. Linuxkjerna har ingen mekanisme for å bringe sistnevnte tilbake etter at den minnekrevende prosessen er avsluttet (dette er hensikten med SuperFetch-tjenesten i Vista/7, men heuristikken er en annen sak).

 

Interesserte Linuxbrukere kan ta en titt på filen /proc/sys/vm/swappiness eller sysctl-variabelen vm.swappiness.

 

Når det gjelder minnebruk ved å kjøre et 64-bit OS kontra 32-bit, så kan jeg se for meg at tendensen til økt minnebruk i programkode skyldes større minnepekere (og ytterligere "overhead" pga. optimalisering fra kompilator for å oppnå jevne adresser) og redusert ytelse der CPU-cache tidligere (med 32-bit) har vært utslagsgivende for ytelsen.

 

Det er ikke så mange fordeler man får ved å bruke et 64-bit OS på et system med mindre enn 3GiB RAM. Det vil si, å mmap'e filer stjeler ikke fra det lille adresserommet man får med 32-bit adressering. I tillegg så gjetter jeg på at man får noe økt sikkerhet siden bruken av ALSR i et større adresserom gjør spredningen til biblioteker større og mindre forutsigbar. Det er også vanlig å bruke det mest signifikante bitet i sidetabellen som NX/XD-bit. Om det finnes hacks for å benytte dette i 32-bit Linux vet jeg ikke.

Lenke til kommentar
iallfall når jeg gjorde det i mange år med både 512mb og 1gb, og senere altså 2gb.

 

Programmer bruker mer minne nå enn de gjorde for f.eks 5 år siden.

 

F.eks browswere bruker mer minne fordi websidene du går inn på inneholder større bilder, bildebehandlingsprogrammer bruker mer minne fordi kameraene nå er 10 megapixler istedetfor 1,5 megapixler, osv...

 

I tillegg så bruker java/c# osv mer minne enn tilsvarende c++ programmer og det blir definitivt flere av førstnevnte.

Lenke til kommentar
Swapping er win om du:

a) Har lite RAM.

b) Har nok RAM til å kjøre alle aktive programmer uten å swappe mellom dem.

 

Er ikke begge disse kriteriene oppfylt, har du for lite RAM.

Det er alltid for lite hovedminne akkurat som det alltid er for lite cache på harddisk, CPU og andre enheter. Å swappe ut prosesser er nesten utelukkende hensiktsmessig siden minnet gjør mer nytte for seg til å inneholde større/flere I/O-buffere.

Du siterer meg, men jeg er på ingen måte uenig i det du skriver. Med aktive programmer mener jeg ikke alle programmer som kjører, men programmer som gjør noe eller på annen måte er i forgrunnen, så konstant swapping på disse merkes som negativt på brukeren (eller på viktige prosesser som måtte kjøre på en server).

Når det gjelder minnebruk ved å kjøre et 64-bit OS kontra 32-bit, så kan jeg se for meg at tendensen til økt minnebruk i programkode skyldes større minnepekere (og ytterligere "overhead" pga. optimalisering fra kompilator for å oppnå jevne adresser) og redusert ytelse der CPU-cache tidligere (med 32-bit) har vært utslagsgivende for ytelsen.

Minnebruk ved 64-bit er i enkelte tilfeller ekstremt, og skyldes nok i noen tilfeller dårlig programmering (ren rekompilering er ofte ikke godt nok). F.eks kan nevnes ClamAV og SpamAssassin, som i mitt tilfelle bruker over dobbelt så mye minne F.eks tok clamscan-prosessen 189MB (resident size) ved 64-bit, mens den bare tok rundt 70MB på 32-bit. Jeg så et tilsvarende forhold med SpamAssassin. Apache var også betydelig mer minnehungrig på 64-bit.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...