Forum Visual Studio

OS X: Cannot profile iOS app for more than circa 10 minutes

SebBartholomewSebBartholomew USMember ✭✭
edited March 2017 in Visual Studio

Hi there,

I've recently started using the Xamarin Profiler on OS X and I cannot seem to get it to run for more than about 10 minutes on a machine. Anything more than about 6-7 minutes and the profiler UI starts to stutter. I recently upgraded to 16GB of RAM to see if this would help and it did in that I can profile for more than circa 6 minutes before profiler app or the iOS app crashes (it's a flip of the coin which one happens first).

I was really hoping to profile overnight to squeeze out issues with Jetsam killing our application after about 12-18+ hours of use but I'm far from achieving this at the moment.

I have tried decreasing the sample frequency to 1 per second [by comparing to UI in windows] (which I think is incorrectly labelled as "sleep in microseconds" in OS X version) and this has only helped to a limited degree.

Any suggestions on how I can improve this? Any one else have similar or much better experience? Am I being unreasonable in aiming to profile for extended periods of time (ie. many hours/days)?

Anyone have other suggestions on how to track down slowly developing memory leaks if not?


I should add, I'm using Profiler v.1.2.1



  • SebBartholomewSebBartholomew USMember ✭✭

    Have updated to v1.4.0.1 and stability is improved but gives me only about 4 or 5 extra minutes of profiling time.

    I've noticed a common issue (between both versions) is the timer next to Reading data.... (hh:mm:ss) appears to slow down (so it still increments - has not frozen - but much slower than 'real' seconds), losing sync with the real passage of time.

    I had a look at logs but cannot see any errors other than
    XamarinProfiler.Core.Metadata.ProfileMetadata Error: 0 : [2017-03-28 18:12:51.1728] MLPD error: GC collection for generation 0 wasn't in progress

  • RodrigoMoyaRodrigoMoya ESXamarin Team Xamurai

    hmm, can you please share the whole Profiler.log?

    From what you're saying, my guess would be that the runtime profiler is generating way too much data for your application, so the profiler UI gets stuck processing all that information. So yes, please share the Profiler.log and, privately to me just in case, the resulting MLPD after one or the other crashes. For that, if the profiler didn't crash, just File->Save as, if it did, look at the Profiler.log file, which should contain something like opening XXXX.mlpd which should have the full path to that MLPD generated by the runtime profiler.

    If you share those 2 on a new bug at, you get bonus points :smile:

Sign In or Register to comment.