Re: memory release problem in mathematica6.0
- To: mathgroup at smc.vnet.net
- Subject: [mg83340] Re: memory release problem in mathematica6.0
- From: m.r at inbox.ru
- Date: Sat, 17 Nov 2007 05:38:09 -0500 (EST)
- References: <fhegac$m08$1@smc.vnet.net> <fhh71o$8h2$1@smc.vnet.net>
It's hard to tell without seeing a specific example, but sometimes you need to make sure that the structure really was deallocated. In 6.0.1 under XP, if I monitor the memory usage with Task Manager or from Mathematica using Dynamic[Import[ "!tasklist /fi \"imagename eq math*\" /fo csv", "CSV"] // Rest // Grid // Panel, SynchronousUpdating -> False, UpdateInterval -> 1] and then evaluate In[2]:= A = Range[25*^6]; In[3]:= Clear[A] In[4]:= Timing[A = Range[25*^6];] In[5]:= Clear[A] the memory usage doesn't drop after the first Clear[A] because A is still stored in Out[2], but it drops after the second Clear[A]. Maxim Rytin m.r at inbox.ru On Nov 16, 4:17 am, jack <giaber... at gmail.com> wrote: > What i was pointing out ( there is a typo error in my post ) is that > the MemoryInUse[] command of mathematica gives the correct result in > the sense that memory is released but the physical memory not yet. I > understand that memory management of mathematica is different from > that of the Operating System for speed reasons, but i think that > something goes wrong because, as is confirmed by Yaroslav Bulatov in a > successive post, when i clear a symbol ( of many elements, ~300MB ) > and a reallocate it three or four times physical memory runs out and > the memory system swaps all the time ( i' ve 756MB of RAM ) until i > shutdown the kernel. > I' d like to know if there is an explicit way to synchronize the > memory management of mathematica with that of the OS, because i think > that the behavior that i' ve just described must be avoided. > > Thanks for your contribute. > > Jens-Peer Kuska wrote: > > Hi, > > > you think that Mathematica call the memory management functions > > of the operating system every time it aqquire or release memory ? > > > This would probably incredible slow .. it will request memory from the > > operating system and integrate it inti its own memory management > > > And the operating system show it't own memory management but not that > > of Mathematica .. > > > Regards > > Jens > > > jack wrote: > > > Hi all, > > > When i define large data structures, for example an array "A" of > > > million of elements that occupy some hundreds of MB of physical > > > memory,when i clear it, with Clear[A] memory isn' t released by > > > operating system. I' ve tried both on windows and linux. > > > The result of MemoryInUse[] command of mathematica but the physical > > > memory reported by the system monitor isn't released. > > > I' ve tried also ClearSystemCache[] but with no result. > > > Am i missing something? > > > > Thanks!