I was looking into a process consuming high CPU on a machine.
I recorded the performance of the process in a .etl file using the following Windows Performance Recorder command(s):
wpr -start cpu
wpr -stop C:/wpr_Process.etl
I opened the .etl file using Windows Performance Analyser. I opened the "Utilization by Process, Thread, Stack" graph under "CPU Usage (Sampled)" garphs list and filtered with the process I wanted to look at.
I see that for every thread (there are around 100 threads) the stack column has 2 entries: "[Root]" and "n/a".
I was able to see the call stacks of the process under "[Root]" and I was able to account for the CPU usage under that.
But "n/a" is also consuming quite a bit of CPU and it has no information under it. I wanted to know what is the "n/a" entry for and where is it consuming CPU.
I have loaded the Microsoft symbols from msdl and the symbols for my process correctly:
Can anyone help understand what does this "n/a" entry in the Stack column means and why could it be using so much CPU?
I looked for anyone having the same doubt on online forums and found this thread: (hololens-2)-(wpa)-windows-performance-analyzer-sh
This was for a Memory analysis and the suggestion
In review of the images, it does look like a leak in the application.
does not seem applicable in my case as I am looking at CPU analysis and not Memory analysis.