We're migrating an app to 2.0, and I've come across a rather bizarre behavior. Basically, after running for a while, the app will begin taking up 100% of one CPU. Perf counters would indicate that the process is in GC (% Time in GC is very high).
Now, some background. This is an ASP.net app. We've got very aggresive caching such that the static memory footprint is about 600MB. When things first get going, everyting behaves wonderfully. Then, at some point, the GC gets hungry or something and starts chewing up cycles. The heaps never go down. No allocations are being made. Nothing tangible seems to be going on.
When requests comes in, they are handled normally, and the GC seems to "get out of the way". (DB wait time is accompanied by 0% CPU) But after the request is completed, it's back up to 100%.
This app worked fine under 1.1. And I guess there's an argument that says it still does. It just doesn't play nice with anything else on the system. I'm just kind of writing this to get this problem out there in case anyone else is seeing it and is searching for a solution. I'll probably also ping a few folks at MS to see what they have to say.
[UPDATE] Check out this update.