There was this one incident in the project that I worked on where the application used to just freeze after some time and that made the CPU utilization 100% without any requests from the UI. Perhaps the only hundred percent that we don’t need in our life. The server was a very basic one on AWS that met the purpose of the application running there and didn’t require a higher configuration system.
Getting remote access to such systems gets difficult sometimes due to the extensive CPU task running in the background. After reviewing the application and system logs, tracing the incoming requests, and considering the time at which the issue was reoccurring, it cleared out that a scheduled script that was there for diagnostics created this issue.
After digging more into it, I found out that the queries running on the database for this particular routine were the main reason behind the high CPU usage. While debugging this issue, I got to understand how the queries run behind the scenes, and which tools to use if I run into a similar issue again. And moreover, I could suggest this to someone who might be in the same position I was in. Stuff like this is not spoon-fed; it’s something you pick up along the way.
As rightly said by Nicholas Negroponte, “Programming allows you to think about thinking, and while debugging you learn learning”.