Missing options?!!

Use this forum for questions on how to use .NET Memory Profiler and how to analyse memory usage.
Post Reply
JamesH
Posts: 9
Joined: Wed Jul 04, 2007 8:32 am

Missing options?!!

Post by JamesH » Wed Jul 04, 2007 8:33 am

I’ve just downloaded the latest version of mem profiler (3.0.122.0) (used 2.6 previously) and don’t seem to have an “attach to process” item. Am I being blind?

I also don’t have options for monitoring unmanaged resources, is this done automatically now?

As a last note, is there a way for us to help the profiler get more information? For example, would making our objects public instead of friend so they can be accessed externally help in any way? How about using a debug build instead of a release? A huge amount of the memory used comes under <Other> even thought the system is 95% managed code! Any tips would be appreciated.

Andreas Suurkuusk
Posts: 1029
Joined: Wed Mar 02, 2005 7:53 pm

Post by Andreas Suurkuusk » Wed Jul 04, 2007 8:06 pm

Hi,

The "attach to" feature and the unmanaged resources tracker are only available in the Professional edition of .NET Memory Profiler. If you have entered a registration key for the Standard edition you will not see these options.

I have sent a private message to you with a registration key that will give you a 14 day trial of the Professional edition.
Best regards,

Andreas Suurkuusk
SciTech Software AB

JamesH
Posts: 9
Joined: Wed Jul 04, 2007 8:32 am

Post by JamesH » Thu Jul 05, 2007 8:11 am

How bizzare, I purchased 2.6 (and have paid for a previous version as well), knowing there was a free upgrade to 3.0 when it was released.Paying again for a feature I thought I was getting is not ..... helpful.

Thanks.

PS: Your support in-box is full.

Andreas Suurkuusk
Posts: 1029
Joined: Wed Mar 02, 2005 7:53 pm

Post by Andreas Suurkuusk » Thu Jul 05, 2007 8:56 am

If you purchased .NET Memory Profiler 2.6 on or after May 1, 2006 you should have received a free upgrade to .NET Memory Profiler 3.0 Standard. However, there is an upgrade cost from the Standard edition to the Professional. I'm sorry that our information about the free upgrade was not clearer.

The Standard edition contains all features of v2.6, plus some significant improvements. If you have not received the upgrade information, please contact us at sales@scitech.se.

We provide all minor upgrades free of charge. So there have been free upgrades from v2.0 to v2.5 to v2.6. Last time we charged for an upgrade was when we released v2.0 in February 2004. In a few months we will release v3.1, which will be a free upgrade. We are also planning at least one more v3.x release.
Best regards,

Andreas Suurkuusk
SciTech Software AB

JamesH
Posts: 9
Joined: Wed Jul 04, 2007 8:32 am

Post by JamesH » Mon Jul 09, 2007 1:30 pm

Yes, we have the 3.0 upgrade, but were not aware that the new features (our reason for buying at that time) would not be available unless we upgraded to the profession edition.

Can you help with my other question on tips to make the profiler pick-up more class info?

Andreas Suurkuusk
Posts: 1029
Joined: Wed Mar 02, 2005 7:53 pm

Post by Andreas Suurkuusk » Mon Jul 09, 2007 8:53 pm

I'm sorry, I forgot to answer your final question in my first reply.

No, it will not make any difference if you make classes and fields public. The profiler is able to retrieve information about all managed data without regards to class and field access restrictions. A debug build will cause the scope of local variables to be "larger" (e.g. until the end of the method), so there might be a slight difference in the managed memory usage of the application. It might also affect the unmanaged memory usage of the application somewhat, but I don't think the effect on either managed or unmanaged memory usage will be too significant.

You can read a little more about unmanaged memory usage in my blog post at http://www.scitech.se/blog/index.php/20 ... other-node
Best regards,

Andreas Suurkuusk
SciTech Software AB

JamesH
Posts: 9
Joined: Wed Jul 04, 2007 8:32 am

Post by JamesH » Tue Jul 10, 2007 8:34 am

Thanks, I have read it already. Even with the evaluation code, I still can't collect unmanaged resources. According to the documentation, the Types page, should turn into a Types/Resources page, but it does not. I have the option under the settings, but turning it on or off makes no difference. I'll try a reinstall.

Heres a future feature idea, when you attach to a process, it takes a memory dump first. Can you make a way to keep these memory dumps? I've got over 400 meg in my <other> list, and maybe have a chance of working out what it is, by investigating the dump file myself.

JamesH
Posts: 9
Joined: Wed Jul 04, 2007 8:32 am

Post by JamesH » Tue Jul 10, 2007 9:04 am

My fault, I get the option for Types/Resources, but when I attach to process they disappear. They only re-appear after I reopen the application.

Andreas Suurkuusk
Posts: 1029
Joined: Wed Mar 02, 2005 7:53 pm

Post by Andreas Suurkuusk » Thu Jul 12, 2007 2:22 pm

The unmanaged resources tracker is not available when you attach to a process. To track unmanaged resources you need to start the profiled process from the profiler.

We will consider adding an option to keep the automatically created when collecting a snapshot from an attached process. However, if you want to investigate the same memory dump file that is used by a snapshot you could create the memory dump file manually and then import it into the profiler. For more information see the memory dump import documentation at http://memprofiler.com/OnlineDocs/impor ... pfiles.htm.
Best regards,

Andreas Suurkuusk
SciTech Software AB

JamesH
Posts: 9
Joined: Wed Jul 04, 2007 8:32 am

Post by JamesH » Fri Jul 13, 2007 9:57 am

For some reason the profiler is taking a huge amount of time to collect a snapshot from a 100-150 meg app. I waited 3 hours then gave up.
Its worked in the past, but adding resources has ... killed it. Unfortunatly, the memory leak we may have is in unmanged so I need this.
I have tried a memory dump, and importing it, but it failed to import. Even if I do manage to get one imported, is there unmanaged resources included in the profile?

Andreas Suurkuusk
Posts: 1029
Joined: Wed Mar 02, 2005 7:53 pm

Post by Andreas Suurkuusk » Sun Jul 15, 2007 8:01 pm

A snapshot should not take several hours to collect. Unless you're attaching to the progress, a snapshot should not take more than a few minutes (for a process with a lot of instances).

Are you able to collect a snapshot faster if you disable the unmanaged resources tracker?

Do you have a memory dump file that you are not able to import? If you do, we would like to investigate this dump file to see if we can solve the problem? Please contact us at support@scitech.se so that we can provide you with information on how to upload the memory dump to us.
Best regards,

Andreas Suurkuusk
SciTech Software AB

JamesH
Posts: 9
Joined: Wed Jul 04, 2007 8:32 am

Post by JamesH » Mon Jul 16, 2007 9:41 am

I have emailed with details.

The snapshots work fine for a while, then I leave it a weekend/overnight and come back and the snapshot never finishes. My application by this time is running very very slowly (hence my reason for the memory profiler!). After attemping a snapshot and waiting an hour, I closed the profiler (end task) and then attached to the same process and took a snapshot which worked fine. Of course, fine without unmanaged data :).

I can take a memory dump, and was hoping to import that (Can I can see unmanaged resources from a memory dump?).

Just to add, the snapshot while attached showed a 70MB memory profile, but Task Manager shows 235MB and the dump file is also 235MB. Of the 70MB, 61MB is under "Other Data -> <Other>".

JamesH
Posts: 9
Joined: Wed Jul 04, 2007 8:32 am

Post by JamesH » Mon Jul 16, 2007 9:56 am

Ooo I may have found something that might be affecting it. Im getting a

Application popup: MyApp.exe - Application Error : The exception unknown software exception (0xc0000005) occurred in the application at location 0x1001f6e0.

A nice system event message classed as informational... great, cheers microsoft.

JamesH
Posts: 9
Joined: Wed Jul 04, 2007 8:32 am

Post by JamesH » Mon Jul 16, 2007 2:26 pm

Heres another feature request. How about a list of memory address/location that the <other data> is found in (from a memory dump file). I've still got a huge amount of <other> and if I could only get a hint of where it is, theres a good chance I know what it is. Trawling through a 160MB file is harsh :). Even better could be an umanaged memory viewer, the ability to show data in blocks as it stands and view in Oct/Hex/Binary etc.


Ahhhh the stuff dreams are made of.

Andreas Suurkuusk
Posts: 1029
Joined: Wed Mar 02, 2005 7:53 pm

Post by Andreas Suurkuusk » Wed Jul 18, 2007 8:21 pm

We have received the memory dump file and will investigate it as soon as possible.

The profiler adds a substantial overhead to the profiled process, especially when the unmanaged resources tracker is enabled. So any problems caused by low memory availability will be worse when profiling. Could that be causing your process to crash?

When attaching to a process, or importing a memory dump, no unmanaged resources information is collected. This is something that we hope that we can improve in a future version.

I think your suggestion on the possibility to drill down on the actual memory data in the native memory view is interesting. This is also something that we will consider supporting in a future release.
Best regards,

Andreas Suurkuusk
SciTech Software AB

Post Reply

Who is online

Users browsing this forum: No registered users and 13 guests