As a DBA we encounter situations when CPU is high on a DB server but DB is not consuming any CPU, we can see the processes consuming high CPU but don’t know how to identify that what process is doing causing issue and in cases where process is an encapsulated process like wscript.exe or any other system process we generally recommend server reboot but that generally washes out all logging; now as a DBA we know we can’t control such situations, so it’s always better to dump such process for future investigations and help identifying root cause, below is one such method to use process explorer utility to dump the problematic process and either open a MS case and provide it to them for analysis or download windbg utility and respective symbols to analyze on own, whatever be the case, this is an important thing to be handy always,
- Download process explorer from https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
- Copy procexp.exe to the impacted server
- Execute procexp.exe
- Go to Find > “Handle or DLL substring”
- Search for the process, match the PID of task explorer process with the searched process in process explorer
- Once process is identified, then select process in top pane and do following:
right click > create dump > create full dump… > select location which has more than 2GB free space and give a proper file name
- Once export is complete, compress file
-
Open a Microsoft case and supply the dump file to them for further analysis
Or
-Go to https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/
-Download appropriate version of windbg and respective symbol files
-Open the dump
-Analyze
Hope this helps!
