[Mono-list] heapshot, howto limit size of mlpd file

Esben Laursen hyber at hyber.dk
Mon Feb 11 09:26:10 UTC 2013


Hi experts,

I am trying to find a memory leak in my code, unfortunately it only 
happens once or twice every 24 hours. My problem is that its a very busy 
service that is running with 100+ "worker" threads that is communicating 
over the network and analysing a lot of data. For instance its 
continuously receiving about 5-8mbps syslog that is analyses with 
regex's and that is just a small part of what it does.

I have looked at the http://www.mono-project.com/Profiler page and that 
was a great help, but my mlpd file is still getting too big

I have tried with the following string:

--profile=log:nocalls,noalloc,heapshot=ondemand,zip,sample=cycles/1,maxframes=1,calldepth=1,time=fast,port=1234

My problem is that even with that I still get a file that is about 2mb 
every minute or so (and I only have about 1Gig of space).

I can see that the heapshot is only triggered when I want to (sends a 
"heapshot" to the 1234 port), but there is something else that is being 
analysed that is taking up space.. Do you have any idea what I can do 
about it?

Ideally I want to leave the program running for a few hours, then 
trigger a heapshot every hour to see what objects that is alive at that 
point am I doing something wrong?

Cheers

Esben


More information about the Mono-list mailing list