I’ve got an ASP.NET application running and on the production box it’s using about 450MB RAM, however, it shouldn’t be using quite so much, and it seems to increase over time, so it seems there might be a leak or atleast something not being released properly.
I took a look with PerfMon and there was 416MB in GC Gen2.
Anyone have any idea for finding out what it’s keeping in memory? Could I just grab dotTrace/ANTS and somehow attach it to my IIS (6 – on windows server 2003) – or is there a better way? 🙂
Thanks.
Watching this TecheEd presentation by Tess would be a good start.
She demonstrates using adplus to take a dump of an ASP.NET application that is consuming a great deal of RAM, then loading that dump into WinDbg for analysis. Use the !gcroot command in WinDbg to find unexpected roots and go from there. She advises against storing complex types that contain references to other objects in cache or session.