Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 59 reacties
Bron: The Register

Toen The Register wat aan het spelen was met hun nieuwe Pentium 4 systeem kwamen ze tot een vreemde ontdekking: zodra er meer dan 512MB geheugen in de machine werd geplaatst wilden programma's niet meer opstarten door een zogenaamd geheugentekort. Eerst werd de i850 chipset verdacht, maar al snel werden de ogen op het meegeleverde Windows Me gericht. De grote hoeveelheid RAM zorgt ervoor dat het operating systeem geen adress space overheeft voor het virtueel geheugen. Ook het gebruik van een AGP aperture vergroot de kans op problemen. Hier een paar stukjes uit Microsofts knowledge base:

The Windows 32-bit protected-mode cache driver (Vcache) determines the maximum cache size based on the amount of RAM that is present when Windows starts. Vcache then reserves enough memory addresses to permit it to access a cache of the maximum size so that it can increase the cache to that size if needed. These addresses are allocated in a range of virtual addresses from 0xC0000000 through 0xFFFFFFFF (3 to 4 gigabytes) known as the system arena.

On computers with large amounts of RAM, the maximum cache size can be large enough that Vcache consumes all of the addresses in the system arena, leaving no virtual memory addresses available for other functions such as opening an MS-DOS prompt (creating a new virtual machine).

This problem may occur more readily with Advanced Graphics Port (AGP) video adapters because the AGP aperture is also mapped to addresses in the system arena. For example, if Vcache is using a maximum cache size of 800MB and an AGP video adapter has a 128MB aperture mapped, there is very little address space remaining for the other system code and data that must occupy this range of virtual addresses.

Microsoft geeft drie tips om het probleem te omzeilen, de eerste daarvan is om het extra geheugen simpelweg te verwijderen en de andere twee zijn softwareinstellingen die in wezen hetzelfde doen. Windows 95 en 98 hebben hetzelfde probleem, Windows NT en 2000 hebben er echter geen last van.

Lees meer over

Moderatie-faq Wijzig weergave

Reacties (59)

Dit is echt te belachelijk voor woorden! :r

"Microsoft geeft drie tips om het probleem te omzeilen, de eerste daarvan is om het extra geheugen simpelweg te verwijderen....."
Dat is toch te gek voor woorden!!

Het is gewoon raar dat Microsoft die "System arena" zo statisch heeft gemaakt. Als Microsoft voor hun Windows 9x serie een dynamischer geheugenbeheer had bedacht, was dit probleem er niet. Ze kunnen het blijkbaar wel, want Win2K en NT hebben er geen last van. Ook non-Microsoft OS-en zullen er ongetwijveld geen probleem mee hebben. Dat men een geheugen gebied van 1 GB nodig heeft om 512 MB te kunne beheren is me ook een raadsel..een cache in het RAM..waarvoor? In de tekst wordt in het voorbeeld een vcache van 800 MB genoemd, en dat is zelfs meer dan 512 MB.
Ook kan Microsoft weten (net als iedereen die boekjes heeft gelezen over de x86 architectuur en PCI) dat devices in het hoge gedeelte van de virtuele 4 GB address space hun memory mappen.

Btw..zo heel moeilijk is een workaround niet te maken lijkt mij. (tenminste als de kern Win9x gestructureerd is opgezet, maar dat zal wel niet zo wezen).. De meeste machines met 512 MB RAM of meer zijn p2,p3,p4 of gelijkwaaridge AMD machines. In ieder geval machines die onder de 686 architectuur vallen. Vanaf de Pentium Pro, de eerste CPU uit de 686 architectuur, is het mogelijk om veel meer dan die 4 GB virtueel te addresseren, nl. 64 GB mbv. de 36-bit adresbus. Van de andere kant, zitten hier wel erg veel haken en ogen aan.

Ook vraag ik me af in hoeverre > 512 MB memory support in Windows 95/98 en ME nuttig is. Mensen die 512 MB RAM of meer hebben zullen toch een 'echt' en professioneel besturingssysteem draaien, en Windows 95/98 en ME zijn nou niet echt besturingssystemen voor echt serieus gebruik. Windows 95/98 en ME gebruikers zullen in de regel niet meer dan 128 MB RAM hebben denk ik. En de echte diehards gebruiken wel Windows NT, 2000, Linux FreeBSD, etc... en die hebben geen last van de problemen.
Als je met 36 bit fysieke geheugenadressen gaat werken kun je geen flat memory model meer gebruiken en moet je een segmented memory model nemen.
Ik denk niet dat ze het OS zo even over kunnen zetten om dat te doen.
Zoals ik al zei er zitten wat haken en ogen aan.
Ik heb uit de documentatie hierover begrepen dat er inderdaad geen puur flat memory modem is (registers zijn helaas nog maar 32-bit kl**te x86 arch), maar je kunt die 4 gb virtueel geheugen kiezen als een stukje van de totale 64 gb. De kernel zou dus constant met het "venster" moeten schuiven..tja en dat is best lastig ja. Maar de applicaties kunnen gewoon ieder het flat memory model hanteren, want een applicatie zal niet meer nodig hebben als 4 gb virtuele adresruimte.
Microsoft geeft drie tips om het probleem te omzeilen, de eerste daarvan is om het extra geheugen simpelweg te verwijderen
WindowsME verwijderen lijkt me effectiever :)
Dat gaat lekker met WinME.

Kon je ook al geen snellere CPU dan 933Mhz in je PC doen omdat dan het afsluiten van WinME niet goed ging (dataverlies) nu kan je ook al niet meer dan 512Mb erin stoppen.......ik dacht dat WinME klaar was voor het volgende Millenium (lijkt er meer op dat ze terug in de tijd gaan)
Ik denk dat het probleem eerder zit in het feit dat ME nog steeds de 95 kernell gebruikt. Bij Microsoft wilden ze die nog even een klein stukje meer uitmelken. Alleen: zaken die 5 tot 10 jaar geleden toen ze deze kernell geschreven hebben nog onvoorstelbaar veel waren zijn nu heel gewoon geworden. een PC met 1 Ghz processor, 128 MB RAM en 40 GB HDD. Dat zou toen een supercomputer zijn geweest. Nu kan ik het je voor minder dan 3000 gulden bezorgen...
En inderdaad 256 MB RAM ligt tegenwoordig onder de 500 gulden.
Ik kan me best voorstellen dat ze destijds er niet aan gedacht hebben om zoveel te kunnen adresseren. Je moet toch ergens een limiet stellen. Ze hebben alleen vergeten om zoals bij FAT de limiet wel aan te passen aan de moderne tijd.
Het is hoogstens slordig te noemen.
Als dit de enige problemen zijn met windows 9x zou ik erg tevreden zijn :)

Hopelijk heeft M$ al de tijd die ze over hadden gebruikt voor Win2000.
In het volgende millennium (te weten 3000 en verder)
gaat MS zo efficient programmeren dat 512 MB meer dan voldoende is voor de flauwekul die je met ME in huis haalt :)
Dus wat dat betreft is ME klaar voor het volgende millennium
\[off-topic]
We bevinden ons nog in het tweede millennium (te weten van begin 1001 tot en met eind 2000).
Een of andere monnik, Dionysius Exiguus, heeft bij het opstellen van de jaartelling namelijk de fout gemaakt om het jaar van de geboorte van Jezus 1 te stellen (ipv 0).

Het volgende millennium (te weten 2001 en verder)begint dus volgend jaar al...of pas.
\[/off-topic]
Niet helemaal. Het jaar 0 bestaat niet, omdat je niet het jaar -0 en +0 kan hebben. 0 is een punt, geen periode. :)
offtopic:
sterker nog. die monnik heeft zich helemaal vergist met die geboorte, hij zat er 6 of 7 jaar naast. Het is nu dus al 2007 :) Dus M$ is wel heel laat met Win2000 :Z

het is toch belachelijk dat als 'oplossing' voor te veel geheugen je dat geheugen gewoon moet verwijderen.
Dat is gewoon geen oplossing, en laten ze dat dan ook gewoon toegeven...
Daar staat EINDELIJK een patch voor op windhoos upgrade
:D Oplossing geheugen zelf beheren in mijn geval 320 MB = gelijk aan ram In system.ini onder vcache MinFileCacheSize=512
MaxFileCacheSize=1024
ChunkSize=64
Werkt voor mij
:z :z :z :7 kan weer QWEEKEN
Daar gaat het niet om fingertips. Het is gewoon dom dat ze hier geen rekening mee hebben gehouden. En de gemiddelde thuisgebruiker weet niet eens wat geheugenbeheer in win 9x inhoudt of waar het in te stellen is. Nu zal die gemiddelde gebruker niet zo snel 512MB Ram is z'n bak hebben zitten maar goed.
Ik denk dat bij de doorsnee gebruiker 512 Mb ruim voldoende is. Als je meer nodig hebt gebruik je wel een ander OS. Tevens moet je niet vergeten dat iedereen wel wil dat zijn oude DOS spullen nog onder ME etc. draaien. Als je geen behoeft meer hebt aan DOS ondersteuning kun je beter voor een ander OS kiezen. Een boel van deze limieten hebben te maken met legacy applicatie's. MS wou allang overstappen naar een volledig 32 bits model maar helaas willen de meeste gebruikers dit niet omdat ze nog teveel aan oude troep hangen.
Je kunt je inderdaad afvragen waarom iemand die 512 MB heeft uberhaupt nog Windows ME/9x gebruikt. Stap dan over op Windows 2000 die kan daar toch beter mee omgaan.
Je kan natuurlijk alles boven de 512 Mb laten gebruiken voor een ram-HD, msdos heeft zelfs nog zo'n drivertje daarvoor.

kan je daar je swap of temp dir opzetten.
een swapfile op een virtuele schijf in het geheugen?

een swapfile is om geheugen weg te kunnen schrijven, waarom zou je dat in het geheugen swap weer in het geheugen kwijt willen? je schiet er geen donder mee op.
Dit kan btw niet eens... heb het ook eens geprobeerd ;)
als je zoveel ram hebt dat je een ramdisk voor je swapfile maakt, dan is het eenvoudiger om om swapfile/virtueel geheugen helemaal uit te zetten...

en die "softwareinstellingen die in wezen hetzelfde doen" (als geheugen verwijderen), dat zal wel het tweaken van minfilecache en maxfilecache zijn; daarmee maak je wel het cache kleiner, maar is dus niet hetzelfde als geheugen verwijderen.

1 beroemde beperking is nog niet genoemd: om geheugen boven 640KB te gebuiken is nog steeds HIMEM.SYS nodig (wordt normaal gesproken automatisch geladen ook al staat ie niet in config.sys).
En wat is precies het nadeel van himem.sys?
Elk OS heeft code nodig voor het beheren van de A20 lijn op x86 procs, niet alleen Windows.
Wat vreemd, ik draai hier met 768Mb fysiek geheugen op win98se en heb geen enkel probleem.
Mensen nemen altijd maar klakkeloos aan dat zulke problemen voor iedereen gelden...
Als je veel programma's tegelijk open hebt staan kan het best zo zijn dat je wel 512 hebben wilt. Bovendien zijn er mensen (waaronder ik) die een dualboot 2k voor de "professionele" applicaties en 9x voor de games hebben.

Vlak het dus maar niet zomaar uit
Stel dat een provider een aantal Unreal servers wil draaien en daar niet Linux voor wil gebruiken, dan is'tie dus aangewezen op Windows. Windows2000 is dan geen goede keuze doordat er een flinke bug in w2k zit waardoor er iets goed mis gaat met het TCP/IP gebeuren als je op een bepaalde poort TCP en UDP wil gebruiken, zoals de UTserver doet. De ping zal dan ENORM omhoog schieten!

Blijft er verder qua windows dus nog 9x en NT4 over...
Als ie geen Linux wil gebruiken is ie zowieso fout bezig...
Nee,
een server met win9x
Das lekker stabiel
Loopt na een paar weken vanzelf vast zonder verdere gebruikersinteractie

Win9x is niet gemaakt om als server te dienen,
dus ook niet als game-server
Bovendien: bij een provider die geen Linux wil maar wel win9x servers zou ik mijn abo direct opzeggen

Grappenmaker

Hee, een flamebait
grappig. Dit is MS strategie damen und herren:
win9x is niet gemaakt voor servertoepassingen. Er zit een bug die er voor zorgt dat het systeem vastloopt na ik dacht 32 dagen en MS lost hem niet op om de simpele reden dat het niet gebruikelijk is een machine voor thuisgebruik zolang achtereen aan te laten staan.
Is verder nix anti-MS hoor, waarom "functionaliteit" aan win9x toevoegen die niet voor het systeem bedoeld is!

Waarvan akte
vandaar dat mijn proxy op w2k advanced server draait er steeds "uitklapt" als ik zit te utten op een client!!!

heeft iemand hier soms een fix voor??????

mzzl
;)
waar de fuck gebruik je advancted server voor ?
server is meer als genoeg hoor :P

Ik gebruik w2k prof, geen problemen met proxy en client tegelijk draaien... UT heb ik nog niet geprobeert, maar ik heb alleen de servicepack gedraait, nog geen problemen gehad, ook niet met meer als 512mb ram
Vermoedelijk was de keuze:
iso server downloaden
of iso advanced server downloaden

dan zou ik ook maar de advanced nemen
of verwacht je dat user in kwestie een advanced server heeft gekocht om thuis op te gaan hobbieen ?
Ik bedoel dat advanced server GEEN enkele extra toepassingen heeft voor een thuisgebruiker, dus vraag ik me af waarvoor hij het zou installeren.....
Server is meer als genoeg, natuurlijk willen wij altijd meer, dat snap ik wel, ik heb ook adv server op CD, daar gaat het niet om.. Maar je moet al wel een aardig aantal pc, aan elkaar willen koppelen voor loadbalancing eer w2k adv uberhaupt nut heeft :)
en ik kan me dat bijna voor thuis gebruik niet voorstellen...

OW, welke HOMO, zit alles offtopic te zetten ?? Dit is niets eens offtopic, eikel !
Terminal services?

(en ik vind advanced wel bot staan)


* 786562 cyberiazelfs thuis!

hehehe

mzzlz
;)
Nope, die terminal services zitten ook in de gewone

Het goeie antwoord is cluster, load balancing of meer dan 4 processoren,
maar de kans dat je een mega-proliant in je kamer hebt staan acht ik wel heel klein :)
Ik zou dit probleem eigenlijk best wel willen hebben...
512 MB :9

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True