vrij geheugen ?

Status
Niet open voor verdere reacties.

andreaugust

Gebruiker
Lid geworden
7 jan 2012
Berichten
105
Als vervolg op mijn vorige vraag.
Ik pas volgende code toe : My.Computer.Info.AvailablePhysicalMemory \ 1000000
En heb volgende eigenaardigheid dat ik niet begrijp.
In een programma moet ik een grote multidimensionele array maken.
Met de hoofdparameter bekom ik achtereenvolgens het volgende
Parameter Vrij geheugen (Mb)
108 1666
109 1628
110 1549
111 1504
112 1501
113 1456
114 1410
115 foutmelding aangevende te weinig geheugen

Tot 114 loopt alles normaal en globaal benaderend lineair (normale schommelingen daargelaten).
Men kan verwachten dat bij 115 er nog ongeveer 1350Mb zou vrij zijn maar er komt een foutmelding, misschien te maken met O.S ?
Kan iemand dat verklaren?
Dank voor antwoord
 
Gebruik de volgende berekening eens:
(My.Computer.Info.TotalPhysicalMemory / 1024) / 1024
 
vrij geheugen

Ik zag geen enkele reden waarom dit iets zou veranderen aan het probleem.
En inderdaad het probleem duikt op dezelfde wijze op.
Delen ( / of \) door 1000000 of zetten 1000 1000 is overigens hetzelfde (voor zover mijn ervaring reikt).
Ik vermoed dat het iets te maken heeft met het memory management van OS maar ik weet het niet zeker en het lijkt op het eerste zicht ook niet logisch.
Al dank voor uw reactie.
 
Laatst bewerkt:
vrij geheugen

Ik heb het zelf opgezocht en het is zoals ik dacht vanwege het OS.
Het is nogal misleidend en niet zo heel klaar maar wat ik er kan uit opmaken is dat het zogenaamde vrij geheugen die vb.net aangeeft niet het nog vrij beschikbaar geheugen is dat het programma kan gebruiken maar slechts een deel ervan.
Als dit deel opgebruikt is wat men dus niet expliciet kan zien wordt een fout gegeven.
Het andere deel wordt weerhouden voor andere doeleinden door het OS.
Wie dit deel klaar kan uitleggen wordt hier uitgenodigd.
De info die vb.net geeft is dus m.i. nogal verwarrend.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan