Logo UGIdotNET

Discussione 'Deallocare memoria'

# Pubblicato il 09 feb 2004 12.43 - Rispondi
Gianluca Dalla Vecchia
Deallocare memoria
Ciao a tutti,
nell'utilizzo dell' API SetProcessWorkingSetSize nella segeunte modalità SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1) nel tentativo di deallocare memoria per il processo corrente, noto (tramite l'utilizzo del TaskManager) che la memoria relativa al processo corrente cala in modo significativo (es. da 20 MB cala a 8 MB) mentre la memoria totale del sistema non subisce alcuna variazione se non alla chisura dell'applicazione in questione.
Qualcuno può aiutarmi per cortesia?
Vi allego il link nel quale ho travato la modalità d'impiego dell'API in oggetto.
http://www.visualcsharp.it/articoli/Risorse/liberarerisorse.asp
Grazie, GIanluca.
# Pubblicato il 09 feb 2004 13.51 - Rispondi
Marco Barzaghi
Re: Deallocare memoria
mumble... sono un po dubbioso sull'suo della "SetProcessWorkingSetSize" per dealocare la memoria... leggendo la documentazione mi sembra che il suo scopo sia un'altro...
Cmq se vuoi prova dare un occhio qui http://www.dotnet247.com/247reference/msgs/38/192390.aspx dove tro un post di Herfried K. Wagner [MVP] (VIP) che indica l'uso dell'API in questione seolo per particolari situazioni...

"Caution: This won't reduce the memory needed by the application in general: The behavior caused by calling this function is not specific to .NET applications only. It is a feature of the Windows/Explorer shell."


HTH M.rkino
# Pubblicato il 09 feb 2004 14.19 - Rispondi
Raffaele Rialdi
Re: Deallocare memoria
> nell'utilizzo dell' API SetProcessWorkingSetSize nella
> segeunte modalità SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle,
> -1, -1) nel tentativo di deallocare memoria per il processo corrente, noto
> (tramite l'utilizzo del TaskManager) che la memoria relativa al processo
> corrente cala in modo significativo (es. da 20 MB cala a 8 MB) mentre la memoria
> totale del sistema non subisce alcuna variazione se non alla chisura
> dell'applicazione in questione.
> Qualcuno può aiutarmi per cortesia?
> Vi allego il link nel quale ho travato la modalità d'impiego dell'API in
> oggetto.
> http://www.visualcsharp.it/articoli/Risorse/liberarerisorse.asp

Per quanto riguarda l'effettiva utilità di questa API, leggi questo mio posto di qualche tempo fa:
http://groups.google.com/groups?q=SetProcessWorkingSetSize+raffaele&hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=uVswSCUsDHA.2880%40tk2msftngp13.phx.gbl&rnum=2

Nello stesso thread trovi anche spiegazione del perchè devi usare la colonna VM Size del task manager e non Mem Usage.

Raffaele
# Pubblicato il 09 feb 2004 15.38 - Rispondi
Gianluca Dalla Vecchia
Re: Deallocare memoria
Grazie mille Raffaele.

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185