Re: [Mono-dev] Garbage Collection Issue?

2010-05-14 Thread Maciej Paszta
On Thu, May 13, 2010 at 7:07 PM, Matt Dargavel m...@shout-telecoms.comwrote:

  Hi there,



 We have an application written in Mono that appears to be
 leaking memory.  I’ve tried using the profiler and mprof-heap-viewer to
 identify any objects that are being left around, but I couldn’t see anything
 significant.  The application doesn’t seem to leak on .NET, so I was
 starting to wonder about the Boehm GC.  Will using the heap snapshots show
 any objects that are no longer being referenced, but have not been Garbage
 Collected?  Also, is there a way to enable the heap profiler but only for
 heap snapshots using the telnet interface- i.e. without the allocations info
 as these generate huge amounts of data in a soak test.  Finally, does anyone
 have any other suggestions on where else I should look / other diagnostics
 to try?



I have experienced similar behavior. When app was running under .NET the
memory was freed, but switching  to Mono caused memory to climb up. I did
some investigation but I couldn't find anything wrong with the code - I had
tried all profilers available for mono. The I gave my app a little time and
memory was eventually freed but after a longer period of time - maybe it's
the same situation?


-- 
Maciej Paszta
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Garbage Collection Issue?

2010-05-14 Thread Stifu

This happened to me too, but I found the cause. It was a disposable object
that I replaced with another one without disposing of it first.

In my case, I found out doing the following gave the best results as far as
memory is concerned:

myobj.Dispose();
myobj = null;
myobj = newobj;

Without setting the object to null, memory is fred later.
After that, Mono and .NET both used as much memory.

Personally, every time I've had memory leaks, it was due to objects that
implement IDisposable that weren't disposed. So far, I didn't really need to
use a profiler, as I could find out exactly when memory wasn't released by
simply using my application and watching memory usage.


Maciej Paszta wrote:
 
 On Thu, May 13, 2010 at 7:07 PM, Matt Dargavel
 m...@shout-telecoms.comwrote:
 
  Hi there,



 We have an application written in Mono that appears to be
 leaking memory.  I’ve tried using the profiler and mprof-heap-viewer to
 identify any objects that are being left around, but I couldn’t see
 anything
 significant.  The application doesn’t seem to leak on .NET, so I was
 starting to wonder about the Boehm GC.  Will using the heap snapshots
 show
 any objects that are no longer being referenced, but have not been
 Garbage
 Collected?  Also, is there a way to enable the heap profiler but only for
 heap snapshots using the telnet interface- i.e. without the allocations
 info
 as these generate huge amounts of data in a soak test.  Finally, does
 anyone
 have any other suggestions on where else I should look / other
 diagnostics
 to try?



 I have experienced similar behavior. When app was running under .NET the
 memory was freed, but switching  to Mono caused memory to climb up. I did
 some investigation but I couldn't find anything wrong with the code - I
 had
 tried all profilers available for mono. The I gave my app a little time
 and
 memory was eventually freed but after a longer period of time - maybe it's
 the same situation?
 
 
 -- 
 Maciej Paszta
 
 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list
 
 

-- 
View this message in context: 
http://mono.1490590.n4.nabble.com/Garbage-Collection-Issue-tp2197862p2216258.html
Sent from the Mono - Dev mailing list archive at Nabble.com.
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Garbage Collection Issue?

2010-05-13 Thread Matt Dargavel
Hi there,

 

We have an application written in Mono that appears to
be leaking memory.  I've tried using the profiler and mprof-heap-viewer
to identify any objects that are being left around, but I couldn't see
anything significant.  The application doesn't seem to leak on .NET, so
I was starting to wonder about the Boehm GC.  Will using the heap
snapshots show any objects that are no longer being referenced, but have
not been Garbage Collected?  Also, is there a way to enable the heap
profiler but only for heap snapshots using the telnet interface- i.e.
without the allocations info as these generate huge amounts of data in a
soak test.  Finally, does anyone have any other suggestions on where
else I should look / other diagnostics to try?

 

Thanks In Advance,

 

Matt.

 

 



 

 

 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Garbage Collection Issue?

2010-05-13 Thread Bryan Murphy
On Thu, May 13, 2010 at 12:07 PM, Matt Dargavel m...@shout-telecoms.com wrote:
 Finally, does anyone have any other suggestions on where else I should look / 
 other diagnostics to try?

You might want to try heap-buddy, although it's been quite some time
since I've been able to get it to compile.

http://www.mono-project.com/HeapBuddy

Bryan
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Garbage Collection Issue?

2010-05-13 Thread Michael Hutchinson
On Thu, May 13, 2010 at 2:59 PM, Bryan Murphy bmurphy1...@gmail.com wrote:
 On Thu, May 13, 2010 at 12:07 PM, Matt Dargavel m...@shout-telecoms.com 
 wrote:
 Finally, does anyone have any other suggestions on where else I should look 
 / other diagnostics to try?

 You might want to try heap-buddy, although it's been quite some time
 since I've been able to get it to compile.

 http://www.mono-project.com/HeapBuddy

There's also heap-shot, which works fine with 2.6, as long as you use
a  SVN revision from around the time 2.6 was branched. Heap-shot can
be used to snapshot the heap and examine the objects that are there,
what objects they reference, and what objects reference them.  It can
also show the difference between heap snapshots.

-- 
Michael Hutchinson
http://mjhutchinson.com
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list