Hello @Abhishek,
Thanks for using Q and A forum.
First: Identify Where the CPU Is High
Start in the Azure Portal:
Go to Microsoft Azure → Virtual Machines → Affected VM
Open Metrics
CPU Percentage
Time range (last 1h / 24h / 7d)
Aggregation = Average + Max
Key question: Is CPU constantly high, or only spiking at specific times?
This distinction determines the next steps.
Check If This Is Expected Workload Load
High CPU is not always a problem.
Validate:
Has traffic increased?
Are there batch jobs, backups, cron jobs, or reports running?
Any recent:
Application deployment
Plugin/module update
Configuration change
If CPU increase aligns with business activity, scaling may be the correct solution rather than troubleshooting.
Inspect the VM from Inside (Critical Step)
SSH (Linux) or RDP (Windows) into the affected VM.
Linux:
top
htop
uptime
Look for:
Processes consuming high %CPU
High load average vs CPU core count
Long-running or stuck processes
Windows:
Task Manager → Processes
Resource Monitor → CPU tab
This usually reveals the culprit within minutes.
Common Root Causes We See in Azure
Application-Level
Inefficient code or loops
Memory pressure causing CPU thrashing
PHP/Java/.NET worker saturation
Excessive logging
OS-Level
Too many background services
Antivirus or monitoring agents
Unpatched kernel issues
Azure-Specific
VM size too small for workload
Burstable VM (B-series) CPU credits exhausted
Disk I/O waits causing CPU spikes
Network packet processing overhead
If the VM is B-series, check CPU Credit Balance immediately — this is a very common cause.
Review Azure Monitoring & Logs
Enable / review:
Azure Monitor
Log Analytics Workspace
VM Insights
Look for:
CPU vs Memory correlation
Disk queue length
Network throughput
Repeated restarts or failures
If the Answer is helpful, please click Accept Answer and Up-Vote 👍, so that this can be beneficial to other community members.