[Mono-list] Profiling web app to find where memory is going

Christopher Bergström cbergstrom at netsyncro.com
Sun Jan 8 21:04:36 EST 2006

Joshua Tauberer wrote:

> Michal Moskal wrote:
>>>>   http://nemerle.org/svn/nemerle/trunk/misc/profiler/
>>> Thanks.  I'm adapting it to get more information out of it, and I think
>>> I have to make it thread-aware to use it reasonably in a multithreaded
>>> app like ASP.NET?
>> Yes. Multithreading was not my concern (I used it for profiling the
>> Nemerle compiler, and recently for a theorem prover).
>> (snip)
>> Of course feel free to use and modify it.
> Great.  It's really helpful.
> I can see now that a single page load is resulting in the creation of 
> 100,000 new string instances.  Seems like a lot, but maybe it's just 
> par for the course.  So now I have a new problem: I can see tons of 
> strings are being allocated by I18N.Common.ByteEncoding:GetString() 
> and MySql.Data.MySqlClient.MySqlDataReader:GetOrdinal(), but I don't 
> know if they're not being deallocated promptly, and I can't imagine 
> tracing through the code to see if the strings are hanging around 
> unnecessarily either within MySql.Data or higher up.
> So, if anyone has any suggestions....

Can you give the 30 second version of how to hook this up to my web 
app?  I'm going to guess just put runprof in my path and change that out 
for mono and  add a syslog entry it looks like?  If you have any patches 
for the multithreading please attach or email to me.. Great work!



More information about the Mono-list mailing list