We are unable to utilize 12-core Xeon machine over ~65% with our .NET app. I'm trying to use Amplifier XE to find where the problem is, but I'm quite confused by what the analysis show.
The analysis summary (hotspots by concurrency or lock & waits) states that signification amount of CPU time is spent in synchronization or threading overhead. Among top waiting objects are Auto/Manual Reset Events. When I analyze waiting threads I often see "Wait / Start: ../ Duration:.. / Synch Object: Auto Reset Event / Source: " - but in the source code (C#) there are no reset events at all. I also quickly checked the generated bytecode. And there are also lots of Transitions around these nonexistent reset events.
How should I read such analysis results? Thank you a lot in advance.