Avatar billede alm1 Nybegynder
23. juni 2004 - 11:29 Der er 13 kommentarer og
1 løsning

Hvorfor øger mit program forbruget af hukommelse??

Selv på en simpel Win app, hvor jeg har en form1 med en knap der viser form2.
Hvis jeg åbner form2 og lukker den igen en del gange efter hinanden, øges forbruget af hukommelse hele tiden.

Hvorfor?
Skulle garbagecollektoren ikke håndtere det?
Avatar billede arne_v Ekspert
23. juni 2004 - 11:31 #1
Jo - men det er jo ikke sikkert at den synes at det er umagen værd at garbage
collecte førend du har har brugt en vis mængde memory.
Avatar billede arne_v Ekspert
23. juni 2004 - 11:37 #2
Prøv og kald:

GC.Collect();

og se om du kan tvinge den til at GC'e.
Avatar billede alm1 Nybegynder
23. juni 2004 - 12:24 #3
At kalde GC.Collect() øger også bare forbruget af hukommelse. Ikke meget, men alligevel.
Avatar billede arne_v Ekspert
23. juni 2004 - 12:27 #4
Og du får de forme lukket rigtigt så de kan GC'es ?
Avatar billede alm1 Nybegynder
23. juni 2004 - 12:27 #5
Jeg har det samme problem på en app. der pt. bruger ca. 35.000 KB hukommelse, her er forøgelsen af hukommelsesforbrug jo noget større, men det lader ikke til at det går ned igen når jeg lukker dele af app. ned.

Derfor mit forsøg med den simple app. :o)
Avatar billede alm1 Nybegynder
23. juni 2004 - 12:29 #6
Jeg håbede på at den blev lukket korrekt, når man lukker den vha. Luk x'et i højre øverste hjørne af formen.
Avatar billede arne_v Ekspert
23. juni 2004 - 23:11 #7
Hvis du løbende udskriver GC.GetTotalMemory(false) vokser den så ?
Avatar billede alm1 Nybegynder
24. juni 2004 - 08:36 #8
Ja, men den falder også tilbage igen ind i mellem.

Hvis jeg ser på memoryforbrug i joblisten, vokser det dog kun?
Avatar billede arne_v Ekspert
24. juni 2004 - 21:06 #9
Hvis GC.GetTotalMemory(false) svinger op og ned mens memoryforbrug i joblisten
konstant stiger, så ligner det en memory leak i .NET library (noget unmanaged
memory som ikke bliver deallokeret).
Avatar billede alm1 Nybegynder
25. juni 2004 - 06:36 #10
Det lyder jo umiddelbart ikke så rart!

??? Har jeg en chance for at gøre noget ved det, eller er jeg helt på Bills marker?
Smid evt. et svar, at sende point til.
Og tak for indsatsen.
Avatar billede arne_v Ekspert
25. juni 2004 - 09:00 #11
Jeg har også svært ved at tror det, men jeg kan ikek forklare observationerne
på anden vis.

Du kan ikke gøre noget i din kode.

Men hvilken Windows version ? Og hvilken .NET version ?
Avatar billede arne_v Ekspert
25. juni 2004 - 09:01 #12
svar
Avatar billede alm1 Nybegynder
25. juni 2004 - 09:32 #13
Win 2000 m. SP4
.NET Framework 1.1
VS .NET 2003
Avatar billede arne_v Ekspert
25. juni 2004 - 22:56 #14
Næsten det samme som mig.

Har du prøvet at kalde Dispose explicit på form objektet efter at formen er lukket ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester