In this post, I will go through a sequence of steps to analyze such scenarios and react to it.
- Indexing has been in progress for quite some duration.
- The CPU is consistently high (above 90%) over a continuous duration while indexing is in progress. The duration would be anything beyond 30-45min. If you observe CPU spikes for short durations and they settle down, that could be expected in certain environments.
- Verify the AT machine configuration
- Verify whether the CPU spike is indeed caused by Search feature
- Potential mitigation
- Contacting CSS/PG team with additional data
Check for the recommended H/W configuration here: https://www.visualstudio.com/en-us/docs/search/code/administration
Verify whether the CPU spike is indeed caused by Search feature
IMPORTANT NOTE: The following steps need to be executed while the CPU usage is consistently high (>90%) to get the correct data. It won’t be useful to run these when the CPU usage is in steady state. So it would be best to capture this data when the CPU usage is staying constantly high for say 30-45min.
- Check the TfsJobAgent.exe process CPU usage in the TaskMgr. Is it taking close to 100% CPU, or are there other processes that are contributing to CPU usage?
- Note, Search is just one part of this TfsJogAgent.exe process. It would be taking up few threads, but there could be other TFS tasks being executed in parallel too. So to confirm if it's a Search issue, let's get to next step
- Check the number of parallel Search indexer jobs running in that particular AT
- Use perfview tool to get the CPU usage breakdown
- To analyze the .etl file,
# Open the Processes report to see which process is having max. percentage of CPU utilization