6
.NET Debugging for the Production Environment Part 5: Debugging High CPU Hangs Brad Linscott Premier Field Engineering

NET Debugging for the Production Environment

  • Upload
    burt

  • View
    50

  • Download
    0

Embed Size (px)

DESCRIPTION

.NET Debugging for the Production Environment. Part 5: Debugging High CPU Hangs. Brad Linscott. Premier Field Engineering. Agenda. High CPU hangs Data to collect in production environment Common debugger commands for high cpu hangs Demo. High CPU Hangs. - PowerPoint PPT Presentation

Citation preview

Page 1: NET Debugging for the Production Environment

.NET Debugging for the Production EnvironmentPart 5: Debugging High CPU Hangs

Brad LinscottPremier Field Engineering

Page 2: NET Debugging for the Production Environment

AgendaHigh CPU hangsData to collect in production environmentCommon debugger commands for high cpu hangsDemo

Page 3: NET Debugging for the Production Environment

3

When a single process consumes 90% or more cpuSymptoms may include

Application that is non-responsive/very slow to respondIf it’s a desktop application consuming all the cpu on the box, then multiple apps on the desktop may be visually slow to respond

Quick check – Task Manager, Processes tab

High CPU Hangs

Page 4: NET Debugging for the Production Environment

4

If you can do a live debug, then break into the process during the high cpu and debug it. Otherwise…“Ideal” data

Two or more dumps 30 seconds apart during the high cpu hangPerfmon that includes Process & Thread objects– Beware of log file size over long time period

Minimum required dataOne dump during the high cpu hang

Data to Collect for High CPU Hangs

Page 5: NET Debugging for the Production Environment

5

!runaway – beware of jumping to conclusionsTo find the offending function(s), use stack & thread commands

Any variant of ‘k’ (kb, kn, kp, k, etc.) for native stacks!psscorX.clrstack for managed stack (X=2, 4)Other thread/stack commands

Sometimes we need help finding the executing line of code in the offending function

u;!u

Common Debugger Commands for High CPU Hangs

Page 6: NET Debugging for the Production Environment

Demo: Debugging high cpu hang