Using Heap-Buddy with beagle
Ok, so memory use is one of the major sticking points for beagle, we even have a current SoC project focusing on the optimization and profiling of beagle to help get a handle on this. To help with this process, here is a short walk through of how to use heap-buddy to generate some debugging info that can help us track down memory leaks.
Heap Buddy
You need to download and install heap-buddy. Unfortunately, its not available in most distros yet, however, its a pretty painless compile assuming you have some of the core development tools installed. Just checkout the heap-buddy module from the mono anonymous SVN servers.
svn co svn://svn.myrealbox.com/source/trunk/heap-buddy
should do the trick. After that,
cd heap-buddy
then
./autogen.sh make sudo make install
if your running a debian based system (such as ubuntu) then you should add --prefix=/usr to your ./autogen.sh command.
Running Beagle with heap-buddy
Lucky for you, beagle developers really want these heap-buddy trace files so we can track down memory leaks, so we made it easy for you. The beagle wrapper script recognizes the --heap-buddy flag. As a result, the recommended way to get us a trace is.
cd into a directory that you have write permissions too and can find after beagle runs, then run
beagled --fg --debug --heap-buddy
Unfortunately, the heap-buddy profiler will slow beagle performance as it accumulates memory heap info in a file called beagled.out in the current running directory. Once you have let the daemon run for several hours, or notice that the memory usage is through the roof, kill the daemon and please send the beagled.out file to the beagle development team. You can do this by attaching it to a specific bug in bugzilla, or by attaching it to an e-mail to the dashboard-hackers mailing list.
