I would like to determine the memory usage and performance in general of my .NET app, but am a bit bewildered by the numerous counters to do with memory that can be monitored from Performance Monitor (perfmon, WinXP.)

Is the most relevant counter 'Process\Private Bytes'? This seems to indicate memory that cannot be shared by anything else but is exclusive to the app.

'Process\Working Set' and 'Memory\Available Bytes' also seem like good contenders to monitor too.

If anybody can clarify things a little for me that would be great.