Gå til innhold

Dobler minnemengden


Anbefalte innlegg

Hmm, her var det noen gale svar.

 

1) 32-bits Windows bruker hhv. 2/2 GiB minne til kjerneprosesser/applikasjoner. Alle prosesser har hver sine 4 GiB adresserom, men halvdelen av disse adresserommene vil være forbeholdt kjerneprosesser, og denne halvdelen (disse 2 GiB) er felles for alle prosesser. De resterende 2 GiB av adresserommet har prosessen selv til rådighet.

 

Dette forholdet kan skiftes til hhv. 1/3 GiB ved å starte Windows med en /3GB-switch.

 

Men! Dette gjelder kun de virtuelle adresserommene. Når det angår *fysisk* minne får du aldri utnyttet 4 GiB med et 32-bits operativsystem. Hovedgrunnen til dette er at en del hardware må adresseres innenfor det samme rommet. Alt etter hvilket hovedkort du har, hvilken hardware, osv, så vil du få fra ca. 3,0 - ca. 3,7 GiB ledig fysisk minne.

 

I Windows XP SP2 / 2k3 SP1 ble det gjort en arkiteturmessig endring slik at alle PC-er går ned til et visst nivå uavhengig av hardware (3 GiB såvidt jeg husker). Du vil altså aldri få utnyttet mer enn 3 GiB (eller der omkring) fysisk minne hvis du bruker 32-bits Windows.

 

Merk at dette gjelder fysisk minne.

 

Det virtuelle adresserommet er alltid 4 GiB for enhver prosess (2/2 eller 1/3) i Windows XP, om du så skulle ha bare 32 MiB fysisk minne.

 

2) Det er ikke noe ytelsestap ved å kjøre 32-bits programmer under Windows x64.

 

:)

7682762[/snapback]

 

Dette er et vanvittig bra svar! Nå må det sies at selv med høgskoleutdanning annet relevant kunnskap, så sliter jeg litt med å få tak i svaret ditt. Kunne du tenkt deg å dytte det inn med te-skje? Takk :thumbup:

Lenke til kommentar
Videoannonse
Annonse

Når det gjelder x64 (fullt navn: x86_64) arkitekturen så svirrer det en del uvitenhet og usikkerhet.

 

Synes det er på tide at Hardware.no lager en fyldig guide for x64 snart slik at folk kan slutte å lure på hva det er og hva slags prosessor man må ha.

 

x64 er nedprioritert av veldig mange programvareutviklere. En av grunnene er at man ikke ser de store fordelene med å bytte til en 64-biters arkitektur og at det har vært forbeholdt stormaskiner og servere siden det den første 64-biters prosessoren kom.

 

Ellers var AMD flinke til å lage sin egetutviklede 64-biters arkitektur som de valgte å kalle AMD64 og bygget inn i vanlige prosessorer beregnet for hjemmemarkedet.

 

Så vi ser et skille hvor maskinvareleverandører er veldig flinke til å støtte 64-bit, mens programvareselskapene er mindre flinke. Litt høna og egget

Lenke til kommentar

Jeg vil ikke si det var unødvendig tidlig. Husk at x86-64 innebærer mye mer enn bare støtte for over 4GiB minne. Det er også en del ting som gir bedre ytelse og 4 ganger så stort register er vel det desidert viktigste. Støtte for over 4GiB minne var det behov for allerede ved lanseringen i april 2003. Mange servere med Opteron og over 4GiB minne ble bygget den gangen og bygges fortsatt. Da 64bit kom til desktop var det ikke støtten for over 4GiB minne som var argumentet for å kjøpe det, men overlegen ytelse i 32bit. At de ytte ennå bedre i 64bit betydde ikke så mye den gangen fordi det var kun Linux som var 64bit OS i hele 2 år etter lanseringen. AMD kunne ha slått av 64bit for desktop-versjonene men da hadde de mistet et salgsargument og ikke klart å motivere programvareindustrien til å ta i bruk 64bit ennå. Hadde det gått riktig galt kunne vi endt opp med kun IA-64 (f.eks Itanium) som de eneste desktop-systemer med støtte for over 4GiB minne nå. Det eneste logiske var å ha x86-64bit slått på i desktop-serien og markedsføre det kraftig.

Lenke til kommentar

Det var ikke unødvendig for servere nei ;) men det ser du at jeg med vilje utelot å nevne nettopp fordi servere trengte det. S940 kom forøvrig lenge før S754.

 

Og som jeg også mener, for desktop var det kun en salgsgimmick. Det er vel først med Vista vi vil nærme oss 64bit nesten hele veien for menigmann. Men som sagt K8 hadde/har også bedre 32bits ytelse, men de gjorde veldig mye ut av 64bit som kun var en salgsgimmick.

 

Back to topic:

Prisen blir veldig spennende, kanskje 2GB kit nå vil begynne å synke i pris.

Endret av Theo343
Lenke til kommentar
Takk for utfyllende svar. Så hvis jeg skal kjøpe meg stasjonær en gang bør jeg investere i en 64-bits-versjon av Windows Vista så jeg kan kjøre 4 GB?

7686281[/snapback]

 

Desverre er det jo endel ekstra tull med 64-bit-windows som ikke burde være der, dårligere driver-støtte, og har hørt ikke alle 32-bits-applikasjoner fungerer der allikevel (noen nevnte trracmania united).

 

Forhåpentligvis blir jo dette bedre når det blir vanligere å ha 4 gig, og skal du investere i 4 gig ville jeg hatt 64-bit.

 

AtW

Lenke til kommentar
Desverre er det jo endel ekstra tull med 64-bit-windows som ikke burde være der, dårligere driver-støtte, og har hørt ikke alle 32-bits-applikasjoner fungerer der allikevel (noen nevnte trracmania united).

 

Ja dessverre...Mange drivere som er Uncomplete i 64-bit windows..Jeg kjørte 64-bit windows i mange måneder og det var mange spill som jeg ikke fikk kjørt engang fordi spillet ikke støttet 64-bit windows..

Endret av Scortech
Lenke til kommentar
Desverre er det jo endel ekstra tull med 64-bit-windows som ikke burde være der, dårligere driver-støtte, og har hørt ikke alle 32-bits-applikasjoner fungerer der allikevel (noen nevnte trracmania united).

 

Ja dessverre...Mange drivere som er Uncomplete i 64-bit windows..Jeg kjørte 64-bit windows i mange måneder og det var mange spill som jeg ikke fikk kjørt engang fordi spillet ikke støttet 64-bit windows..

7686949[/snapback]

 

Ja, det er litt underlig, iogmed at 64-bits windows i teorien(?) skal kjøre alle 32-bit-applikasjoner helt fint (utenom drivere).

 

AtW

Lenke til kommentar

Det er visstnok ventet betydelige kapasitetsøkninger, særlig for DDR3, men også DDR2. Spørsmålet er vel når produktene kan ventes, og selvsagt pris og ytelse. Micron forventer ihvertfall å kunne utvikle DDR3-chiper på 8Gb, som vil gi 16 GB unregistered moduler. Når det gjelder DDR2-chiper, er 4Gb (= inntil 8GB UDIMMs) den høyeste JEDEC-standarden, men i hvilken grad disse vil bli prioriterte prosjekter fra chip-produsentene er trolig et annet spørsmål (Micron planlegger ikke å lansere DDR2 med den kapasiteten). Disse tingene vil vel også avhenge litt av utvikling og etterspørsel av DDR2, avhengig av hvor rask overgangen til DDR3 måtte bli. Jeg ser ihvertfall ikke på båndbredden som noe problem ved dagens DDR2, og de kapasitetene det er snakk om her er vel strengt tatt heller ikke noen nødvendighet for vanlige brukere:

 

post-100025-1168411823_thumb.png

Lenke til kommentar
efikkan lister opp prosessorer som blir solgt i dag uten 64bit. Han har helt rett i at de han lister opp mangler 64bit. Merk også at Core duo ikke har Core-arkitekturen, men en eldre 32bit arkitektur. Pentium M og alle Via-prosessorer til dags dato mangler også 64bit.

 

Nei, jeg roter ikke. De seneste utgavene av Pentium 4 har 64-bits støtte. Følgende er sakset fra http://en.wikipedia.org/wiki/Pentium_4

 

Intel also released a series of Prescotts supporting EM64T, Intel's implementation of the AMD64 64-bit extensions to the x86 architecture. These were originally released as the F-series, and only sold to OEMs, but they were later renamed to the 5x1 series and sold to the general public. Two low-end EM64T-enabled Prescotts, based on the 5x5/5x9 series, were also released with model numbers 506 and 516.

 

I tillegg påstod jeg ikke at Core Duo har core-arkitektur (derfor skrev jeg core-arkitektur i parentes bak Core 2 Duo i innlegget mitt).

 

Derimot tok jeg feil i påstanden om at Core Duo har 64-bits støtte. Dette kom først i Core 2 Duo (core-arkitektur). Litt rart, med tanke på at de sene Pentium 4-modellene hadde EM64T.

 

Det er også noe rot i det du skrev lengre opp her. Gamle Windows 2000 uten SP og med de første SP hadde en standard deling av 4GiB minne til 2+2, men i de senere SP til 2000 samt XP 32bit og Vista 32bit er delingen 3+1 som standard.

7685279[/snapback]

 

Nei, det jeg skrev var 100% korrekt. XP SP2 / 2K SP4 / 2k3 SP1 (og R2) har en endring som medfører at alle maskiner får samme mengde fysisk minne tilgjengelig, hvor dette før var mer avhengig av maskinvare.

 

Man må fremdeles, på alle 32-bits Windows-versjoner (5.x), bruke 3GB-switchen for å få 1/3-fordeling. 2/2 er standard på alle.

 

Se http://support.microsoft.com/kb/294418 under "System PTEs".

Lenke til kommentar
(...) Kunne du tenkt deg å dytte det inn med te-skje? Takk  :thumbup:

7685284[/snapback]

Håper dette kan klare opp litt:

 

Virtuelt minne er et "høyere lag" av minne, et høyre abstraksjonsnivå om du vil. OS-et håndterer det virtuellet minnet og fordeler det på ulike typer faktisk minne. Faktisk minne kan være for eksempel fysisk minne eller swapfil. Hver prosess i 32-bit Windows, samt hver 32-bits prosess i Windows 64-bit, har et 4 GiB stort adresserom.

 

Adresserom for en prosess angir hvor mye prosessen kan adressere. For 32-bits prosesser i Windows er dette 4 GiB totalt. 2 GiB er avsatt til "kernel mode" og har tilgang til dype kall til kjernen med system-rettigheter, mens 2 GiB er avsatt til "user mode", som kjører med prosessens tildelte rettigheter (vanligvis dine).

 

På norsk betyr dette at hvis du starter et 32-bits program som krever mye minne, så vil du aldri få brukt mer enn 2 GiB minne til dette (hvis det har én prosess), uansett hvor mye minne du måtte ha.

 

Og enda særere: De 2 GiB med virtuelt minne som er avsatt til "kernel mode" er det samme adresserommet, altså felles, for alle prosessene til systemet.

 

Adresserommet er 4 GiB per prosess uansett hvor lite fysisk minne du måtte ha, og de 2 GiB til "user mode" er forskjellig for hver prosess. Det er OS-ets oppgave å fordele allokert minne i adresserommet over på det virtuelle minnet.

 

Fysisk minne er hvor mye RAM du har i maskinen din. Dette utgjør en delmengde av det virtuelle minnet.

 

Swapfil er hvor mye du sammenlagt har avsatt til minnebruk på et filsystem (harddisk).

 

I Windows er det slik at fysisk minne + swapfil = virtuelt minne (sånn ca.).

Lenke til kommentar
Tja, XP skal jo støtte 4Gb da med Pae.

 

Microsoft

 

Windows XP Professional and Windows Server 2003 Memory Support. The maximum amount of memory that can be supported on Windows XP Professional and Windows Server 2003 is also 4 GB. However, Windows Server 2003, Enterprise Edition supports 32 GB of physical RAM and Windows Server 2003, Datacenter Edition supports 64 GB of physical RAM using the PAE feature.

 

The virtual address space of processes and applications is still limited to 2 GB unless the /3GB switch is used in the Boot.ini file. When the physical RAM in the system exceeds 16 GB and the /3GB switch is used, the operating system will ignore the additional RAM until the /3GB switch is removed. This is because of the increased size of the kernel required to support more Page Table Entries. The assumption is made that the administrator would rather not lose the /3GB functionality silently and automatically; therefore, this requires the administrator to explicitly change this setting.

 

The /3GB switch allocates 3 GB of virtual address space to an application that uses IMAGE_FILE_LARGE_ADDRESS_AWARE in the process header. This switch allows applications to address 1 GB of additional virtual address space above 2 GB.

 

The virtual address space of processes and applications is still limited to 2 GB, unless the /3GB switch is used in the Boot.ini file. The following example shows how to add the /3GB parameter in the Boot.ini file to enable application memory tuning:

 

[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(2)\WINNT

[operating systems]

multi(0)disk(0)rdisk(0)partition(2)\WINNT="??" /3GB

7681968[/snapback]

 

 

Bör kanske ta en titt på när den skrevs. Alltså en bra stund innan SP2 kom ut med 3GB begränsnigen. Sedan inte MS har stöd för annat än XP med SP2 i dag räknar jag med att 99% av oss här inne har SP2 (som använder XP 32-bit) så är så att säga mer än 3GB omöjligt på XP 32-bit.

 

eha postar många bra saker här förövrigt.

Lenke til kommentar
Bör kanske ta en titt på när den skrevs. Alltså en bra stund innan SP2 kom ut med 3GB begränsnigen. Sedan inte MS har stöd för annat än XP med SP2 i dag räknar jag med att 99% av oss här inne har SP2 (som använder XP 32-bit) så är så att säga mer än 3GB omöjligt på XP 32-bit.

Bra observert :) Poenget mitt er at det ikke er forskjeller i konfigurasjonen mellom pre-SP2 og post-SP2. Forskjellen går ut på at mindre fysisk minne nå blir gjort tilgjengelig for OS-et. /3GB-switchen må fremdeles brukes, såvidt jeg vet, men jeg har ikke tid til å grave mer i dette nå :)

 

Forøvrig bruker jeg x64 Edition, så jeg bryr meg egentlig lite om problemene! ;)

Lenke til kommentar

eha:

Takk for et utfyllende svar. Noe av det var jo klart, men nå skjønner jeg hva jeg har gått glipp av de timene jeg skippa :p

 

Så det betyr at adresserommet på 4GiB ikke vil kunne endres på, men at måten minnet fordeles på, kan trigges via en conf fil?

 

Slik jeg da har forstått det, så vil jeg kunne endre det slik at 2/2 (2GiB/2GiB) kan gjøres om til 1/3 minnemengde, hvor jeg på brukernivået, kan få 2 tredjedeler av minnet i stedenfor en halvdel.

 

Men da har jeg litt problemer med å forstå hvorfor Windows ikke oppgir 4GiB men 3GiB under f.eks egenskapene for datamaskinen. Regnestykket for allokering av minnet er greit.

 

For om jeg har forstått det riktig, burde jo da maks minne til bruker tilgjengelig være 2GiB og ikke 3,5...

 

Må gjerne rette meg her altså :thumbup:

Lenke til kommentar
Slik jeg da har forstått det, så vil jeg kunne endre det slik at 2/2 (2GiB/2GiB) kan gjøres om til 1/3 minnemengde, hvor jeg på brukernivået, kan få 2 tredjedeler av minnet i stedenfor en halvdel.

Jeg mente 2 GiB kernel + 2 GiB user, eller 1 GiB kernel + 3 GiB user, henholdsvis. Jeg mente ikke brøker :)

 

Men da har jeg litt problemer med å forstå hvorfor Windows ikke oppgir 4GiB men 3GiB under f.eks egenskapene for datamaskinen. Regnestykket for allokering av minnet er greit.

Det som er viktig å huske her, er at hver prosess har 4 GiB adresserom uansett hvor mye fysisk minne du har. At Windows rapporterer 3 GiB eller 3,5 GiB eller noe sånt, betyr at dette er så mye fysisk minne den klarer å ta i bruk av maskinvaren din.

 

Årsaken til dette er jeg ikke helt sikker på, men det har noe å gjøre med at det også går en logisk grense på 4 GiB "totalt fysisk adresserom", og i dette rommet må en del maskinvare ligge adressert. Derfor vil noe fysisk minne stå ubrukt.

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...