Toon posts:

Meer dan 2GB geheugen gebruiken in WinXP of 2000.

Pagina: 1
Acties:
  • 176 views sinds 30-01-2008

Verwijderd

Topicstarter
Hoi,

Ik heb hier een probleempje.
Ik moet een bewijs hebben, wat betekend dat de informatie van een
officiele site of uit een benchmark komt, dat als je meer als 2GB
aan ram in je machine hebt deze niet door applicaties worden gebruikt.
WindowsXP en 2000 zullen tot 4GB aan ram zien, er zijn alleen maar een paar applicatie die tot 3GB gebruiken zoals maya, verder zullen
bijna alle apllicaties tot 2GB gebruiken.
Dit heeft te maken met de 32bit van je systeem.

Ik heb al op google gekeken maat kom eigelijk alleen op forums terecht en
dit is niet genoeg als basis van bewijs.

  • Nik
  • Registratie: April 2004
  • Laatst online: 02-08 18:33

Nik

Wat ik wel weet is dat hoe meer geheugen je in je PC hebt, hoe meer Windows er van gaan snoepen.

Heb je 256 MB, gebruikt XP iets van 150 MB, heb je 512 MB, gebruikt XP weer 250 MB (oid).

Misschien interessant om dat eens uit te pluizen :D

Verwijderd

Topicstarter
Maar windows zal nooit meer als 2Gb kunnen gebruiken (incl programma's) omdat hardware matig niet mogelijk is. Omdat je hardware op 32bit werkt.
Ik spreek hier wel over een normaal systeem.
Dus geen servers enzo.
Er zijn programma's die een truckje kunnen uithalen en daarom zo 3GB kunnen gebruiken.
Maar dit zijn programma's zoals maya.

Dit is allemaal wel vaag omdat ik zelf ook niet precies weet hoe het allemaal werkt.

[ Voor 14% gewijzigd door Verwijderd op 16-12-2004 16:21 ]


  • SH4D3H
  • Registratie: Juni 2004
  • Laatst online: 04-10-2025
Met 32-bit windows kun je tot 4 GB adresseren.

Edit: Er is 'n Intel PAE 'hack' die die 32 naar 36 omzet, daardoor kun je boven de 4GB, tot waar weet ik niet precies, kzal eens kijken :)

[ Voor 61% gewijzigd door SH4D3H op 16-12-2004 16:28 ]


Verwijderd

schrijf zelf een programma wat telkens een blok geheugen alloceert en test uit tot hoever het goed gaat. of bedoel je het op een andere manier

  • Abbadon
  • Registratie: Februari 2000
  • Laatst online: 17:57
Voor een officiële site, zie Microsoft ;)

Je kunt de /3GB switch gebruiken en dan zullen applicaties met large address aware eigenschappen meer dan 2GB kunnen gebruiken.

Just pick a dead end and chill out 'till you die.


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Verwijderd schreef op donderdag 16 december 2004 @ 16:06:
Dit heeft te maken met de 32bit van je systeem.
En waarom heeft het (volgens jou) daarmee te maken dan? :? Vind ik namelijk wel een geinig punt om te weten... :)

De link van Abbadon verteld me namelijk, dat er wel meer geheugen ondersteund word, alleen uitgeschakeld staat... ;)

[ Voor 18% gewijzigd door CH4OS op 16-12-2004 17:18 ]


  • Gody
  • Registratie: November 2001
  • Laatst online: 08-08 21:29
GJ-tje schreef op donderdag 16 december 2004 @ 17:15:[...]En waarom heeft het (volgens jou) daarmee te maken dan? :? Vind ik namelijk wel een geinig punt om te weten... :)
De link van Abbadon verteld me namelijk, dat er wel meer geheugen ondersteund word, alleen uitgeschakeld staat... ;)
Wanneer je namelijk 32 bits gebruikt voor adressering (1 bit = 0 of 1) dus 2^32 krijg je: 4294967296. Oftewel 4.nogwat gb adresseerbaar geheugen.

Wanneer je zoals ze op die website al zeggen 36bits ipv 32bits gebruikt zorgt dit ervoor dat je iets richting de 68 gb (want 2^36 = 68719476736) kunt adresseren.

[ Voor 13% gewijzigd door Gody op 16-12-2004 17:28 . Reden: ik had het verkeerd gelezen... ]


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Gody schreef op donderdag 16 december 2004 @ 17:23:
[...]
Wanneer je namelijk 32 bits gebruikt voor adressering (1 bit = 0 of 1) dus 2^32 krijg je: 4294967296. Oftewel 4.nogwat gb adresseerbaar geheugen. De PAE truuk zorgt er wat ik zosnel lees voor dat er ipv 32bits 36bits gebruikt worden om geheugen te adresseren. Dit zorg voor iets richting de 68 gb (want 2^36 = 68719476736)
Hmmm... Omdat een CPU 32 bits is, wil niet zeggen, dat het geheugen dan ook maar op 32 bit draait hoor, of zie ik dat nu verkeerd? :?

  • El Snorro
  • Registratie: Augustus 2003
  • Laatst online: 29-07 15:29
Gody schreef op donderdag 16 december 2004 @ 17:23:
[...]
Wanneer je namelijk 32 bits gebruikt voor adressering (1 bit = 0 of 1) dus 2^32 krijg je: 4294967296. Oftewel 4.nogwat gb adresseerbaar geheugen.

Wanneer je zoals ze op die website al zeggen 36bits ipv 32bits gebruikt zorgt dit ervoor dat je iets richting de 68 gb (want 2^36 = 68719476736) kunt adresseren.
Geen 68 gb neem ik aan maar 6,8 gb

E6600||Gigabyte P35C-DS3R||2x1gb Crucial Pc8500||Sapphire X1900XTX||2xSamsung Spinpoint F1 750GB RAID-0


  • ThaHandy
  • Registratie: Juli 2001
  • Laatst online: 01-08 16:28

ThaHandy

Discovery Channel

jup, nu je het zegt. Ik heb 3GB en UT "ziet" maar 2GB

win2k
Afbeeldingslocatie: http://members.home.nl/thahandy/got/pc.jpg

en een "Debug crash" test van UT2004
Afbeeldingslocatie: http://members.home.nl/thahandy/got/ut.jpg

[ Voor 9% gewijzigd door ThaHandy op 16-12-2004 18:57 ]


Verwijderd

El Snorro schreef op donderdag 16 december 2004 @ 18:45:
[...]


Geen 68 gb neem ik aan maar 6,8 gb
(((2^36)/1024)/1024)/1024=64GB

64GB dus :)

Verwijderd

Ik weet niet of het werkt, maar misschien kan iemand eens proberen om een VMWare host meer dan 2GB te geven.
Of VMWare moet 1 van die programma's zijn die dit wel ondersteund.

  • Abbadon
  • Registratie: Februari 2000
  • Laatst online: 17:57
VMware (GXS en ESX iig) ondersteunt 3.6GB per virtuele machine, dus daarmee kun je meer dan 2GB gebruiken. Je zult dan wel de /3GB switch moeten gebruiken. Ik wil 't wel proberen maar heb nog geen zin SP2 te installeren, en dat moet i.v.m. een bug in SP1 waardoor WinXP niet wil booten met /3GB switch (wat ik zelf proefondervindelijk moest vaststellen :/ )

Just pick a dead end and chill out 'till you die.


  • Vorlon
  • Registratie: Augustus 1999
  • Laatst online: 06-08 15:10
Die 2GB limiet is omdat je geheugen gemapped wordt als kernel en programma geheugen. Je kan onder 32bit windows per programma maximaal 2gb gebruiken. Een beetje grafisch uitgelegd gaat het als volgt.

Je kernel begint vanaf boven aan je geheugen te eten en je programma aan de onderkant. Beide mogen maximaal 2gb eten. (dat is by design zo gemaakt.). Bij een intern geheugen van 2gb kan je dus optimaal van je geheugen gebruik maken. En bij 4gb komen ze elkaar nooit tegen. 4gb wordt dus alleen helemaal gebruikt als je een overvolle kernel hebt en applicaties die ook 2gb zelf eten. Meestal is het het een of het ander.

Terminal Services is een beruchte voor kernel mem eten. (berucht omdat je daar geen mem voor kan uitbreiden helaas)

Als je een app hebt dat veel mem vreet kan je met de /3GB switch de kernel limiteren op 1gb en als een app daarvoor geschreven is kan die dan 3gb gebruiken.

(dan is 4gb dus wel handig).

En dan hebben we nog PAE. Daarmee kan windows pagen tussen de ene app en de andere als je meer dan 4gb mem hebt.

De meeste applicaties buiten een aantal db's en rendertools kunnen niet meer dan 2gb gebruiken en laten dus de rest voor de kernel over.

"You are not ready for immortality yet" - Kosh Nararek


Verwijderd

Topicstarter
Ik heb anders ook nog gelezen dat die die /3GB optie wel leuk is maar dat
veel programma's daar ook problemen mee hebben.
Dit komt omdat de programma's die iets in de extra 1GB wegschrijven het niet
kunnen terug vinden.
Maar ok hier is dat ik dit weer ergens gelezen heb en kan niet voor 100% zeker zeggen
en natuurlijk ook niet meer terug vinden.

Messchien is het wel leuk als die kerel met 3GB en Unreal de 3GB optie doet zodat programma's meer
als 2Gb mogen gebruiken. De kernel wordt op een pc toch niet groter als een 1GB.
En dan kijken of unreal het dan wel doet.

[ Voor 3% gewijzigd door Verwijderd op 17-12-2004 08:08 ]


Verwijderd

Ik neem dan aan dat de 64 bits probeer versie van Windows wel meer geheugen kan adresseren?

  • leonbong
  • Registratie: Augustus 2002
  • Laatst online: 19:35
Kort antwoord JA.

Even bij MS gekeken 32GB maar er kan nog een swapfile van 16TB bij.

[ Voor 68% gewijzigd door leonbong op 17-12-2004 13:14 ]


  • EXX
  • Registratie: Juni 2001
  • Laatst online: 12:52

EXX

EXtended eXchange

Gody schreef op donderdag 16 december 2004 @ 17:23:
[...]
Wanneer je namelijk 32 bits gebruikt voor adressering (1 bit = 0 of 1) dus 2^32 krijg je: 4294967296. Oftewel 4.nogwat gb adresseerbaar geheugen.

Wanneer je zoals ze op die website al zeggen 36bits ipv 32bits gebruikt zorgt dit ervoor dat je iets richting de 68 gb (want 2^36 = 68719476736) kunt adresseren.
Maar dit heeft helemaal niks te maken met de term 32 bit CPU. Dat staat ook hartstikke fout in het artikel waar eerder naar verwezen is:
By definition, a 32-bit processor uses 32 bits to refer to the location of each byte of memory
Dat is kul, de 32 bit slaat op de breedte van de interne databus en niet de adresbus. Een paar voorbeelden:

Z80 = 8 bits CPU: 16 bits adresbus = 64 KB geheugen
8086 = 16 bits CPU: 20 bits adresbus = 1 MB geheugen
80286 = 16 bits CPU: 24bits adresbus = 16 MB geheugen

Ik heb overigens al een reactie achtergelaten op de betreffende site hierover.

For it is the doom of men that they forget...           Huidige en vroegere hardware specs         The Z80 is still alive!


Verwijderd

Elke applicatie die wordt opgestart wordt een proces.
Een proces krijgt 4GB adresseerbare geheugenruimte.
Deze ruimte is dus met 32 bits te adresseren.

Adresseerbaar is niet hetzelfde als bruikbaar.
De ruimte is als volgt ingedeeld:

1 GB: System. Wordt gebruikt om met het systeem (OS) te communiceren maar is readonly voor het proces. Hier kun je dus geen data opslaan.
1 GB: Programma. Deze 1GB is readonly. Het OS geeft een fout als je hierin probeert te schrijven. Wordt gebruikt, maar alleen voor de programmacode. Hier kun je dus ook geen data opslaan.
1 GB: Heap. Dit is het datasegment, als een programma geheugen alloceert komt het hier in.
1 GB: Stack. Hier staat de stack, die wordt gebruikt voor functiecalls en tijdelijke data. Als het programma tijdelijk geheugen alloceert komt het hier in.

Het is mogelijk dat Heap en Stack gecombineerd zijn in een groot 2GB segment. Dat betekent dat je 1.4 GB data op de stack kunt zetten, 0.5GB in de Heap en nog 0.1GB vrije geheugenruimte over hebt.

In totaal heeft elk proces (=draaiend programma) dus 2 segmenten van 1GB elk beschikbaar om zelf data op te slaan. De overige adresseerbare 2GB mag hij dus geen data inzetten; dat zorgt voor een general protection error.

-------------
Daarbij moet je nog even lezen wat virtueel geheugen is; elk proces krijgt dus 2GB vrij te gebruiken ruimte, maar er wordt vanuit gegaan dat deze ruimte niet echt gebruikt wordt.
Als dat wel zo was zou je nooit 40 processen op een machine met 256MB kunnen draaien.
Daarom wordt het RAM gebruikt voor geheugen dat ook daadwerkelijk door processen gebruikt wordt.
Die 2GB grens van jou gaat dus pas tellen als die 2GB ook echt gebruikt gaat worden.

Dat kan gebeuren bij 3 processen die allemaal 1GB gebruiken; dan heb je wat aan meer dan 2GB geheugen :-)

[ Voor 19% gewijzigd door Verwijderd op 17-12-2004 13:34 ]


Verwijderd

_/-\o_ Ik heb een dringende vraag!
Kun je de /3GB switch ook onder windows XP home edition gebruiken (met Sp2)?

Al vast bedankt!

Verwijderd

Ik klik op de link die Abbadon 4 maanden geleden heeft gepost, volg 2 links en kom in een tabelletje waarin vermeld wordt "All versions"
http://www.microsoft.com/...rm/server/PAE/PAEdrv.mspx

Moest je daar écht een 4 maanden oud topic voor omhoogschoppen? :/

  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

Haastige spoed is zelden goed ;)
Pagina: 1

Dit topic is gesloten.