[Mono-devel-list] Memory management for long running processes
Ben Maurer
bmaurer at ximian.com
Mon Mar 28 16:12:28 EST 2005
On Mon, 2005-03-28 at 21:19 +0100, Alex Chudnovsky wrote:
> Memory leaking issue however does appear to be present as app leaked
> memory so much that it locked up Linux box :-/
>
> Your help would be much appreciated, you can get application here:
>
> http://www.majestic12.co.uk/files/mj12node/mono/mj12node_mono_0987.tgz
>
> Main executable is MJ12nodeMono.exe, once you run it you should see menu
> and you will need to start webserver (press S) and then use your browser
> to displayed webserver's address to configure a few parameters before
> software starts working. You will need to go to Options screen and
> register (only few details needed) and after you do this the node will
> start working and it leaks memory on at least one Linux box. It
> transpired that switching away from Mono.Data.SqliteClient to ADO.NET
> from SourceForge helped plug leaks, however it was still leaking.
Can you try that desc-heap thing I described? Having somebody take an
initial look at that would really help me.
If Sqlite is leaking, you might want to file a bug, or see if it is your
own fault.
> While we are on the subject I noticed that I was not able to determine
> amount of memory used by my process from the process itself using the
> following code that works fine on Windows but not on Linux:
>
> // returns memory used in MegaBytes
> public static int GetMemoryUsage()
> {
> return
> System.Diagnostics.Process.GetCurrentProcess().WorkingSet/(1024*1024);
> }
Maybe it makes sense to use RSS for that. Do people have any thoughts?
(This would also be for S.Environment.WorkingSet, which is a much easier
way to get what you want).
-- Ben
More information about the Mono-devel-list
mailing list