High CPU Usage Checklist for VPS Websites

halfbrain_logo512adminJune 14, 2026
0 lượt xem

High CPU Usage Checklist for VPS Websites

High CPU usage can make a VPS slow, unstable or unable to serve requests. For websites and automation stacks, CPU spikes often come from bot traffic, PHP workers, MySQL queries, backup jobs, imports, Docker containers or cron tasks.

Core principle

CPU is not the root cause by itself. It tells you that something is working too hard. Your job is to find the process, request pattern or scheduled task responsible for the load.

Checklist

  1. Check current CPU load.
  2. Find the top CPU-consuming processes.
  3. Identify whether the process is Nginx, PHP-FPM, MySQL, Docker or a script.
  4. Check Nginx access logs for request spikes.
  5. Check if a backup, import or cron job is running.
  6. Check whether MySQL is handling heavy queries.
  7. Check Docker containers if automation services are running.
  8. Reduce abusive traffic if confirmed.
  9. Pause heavy background jobs if needed.
  10. Document the real source of CPU load.

Reusable lesson

High CPU from real traffic, bot traffic, database work and background jobs require different fixes. Do not solve all CPU spikes with the same action.

Checklist Type Monitoring
Level Intermediate
Risk Level High Risk
Estimated Time 20–60 minutes

When to Use This Checklist

Use this checklist when a VPS website becomes slow, unstable or overloaded because CPU usage is high.

Required Tools

SSH access, top or htop, Nginx logs, process list, Docker if used, cron access, MySQL access

Structured Checklist Steps

  1. Check CPU load.
  2. Find top CPU processes.
  3. Identify process type.
  4. Check access logs.
  5. Check cron jobs.
  6. Check MySQL activity.
  7. Check Docker containers.
  8. Pause confirmed heavy jobs.
  9. Mitigate abusive traffic.
  10. Document cause.

Verification Steps

  1. Top CPU process is known.
  2. Traffic pattern is checked.
  3. Background jobs are reviewed.
  4. CPU drops after mitigation.
  5. Website remains accessible.

Rollback Plan

If stopping a process breaks the site, restart the required service and investigate logs before taking stronger action.

Common Mistakes

  • Killing MySQL without understanding impact.
  • Ignoring bot traffic.
  • Forgetting cron jobs.
  • Confusing short spike with chronic overload.
  • Upgrading VPS before finding root cause.

Related Commands

top
ps aux --sort=-%cpu | head
sudo tail -n 100 /var/log/nginx/access.log
crontab -l
docker ps
docker stats
sudo systemctl status mysql

Share:

Disclaimer: The guides, checklists, commands, and examples on HalfBrain.net are provided for educational and operational reference only. Server environments, hosting providers, software versions, security settings, and WordPress configurations can vary, so you should always review commands before running them on your own system. We do our best to keep the content accurate and useful, but we cannot guarantee that every command, configuration, or recommendation will fit every environment. Always back up your website, database, and server configuration before making changes. HalfBrain.net is not responsible for data loss, downtime, security incidents, misconfiguration, or other issues that may result from applying the information on this website. Use the material at your own discretion.

Leave a Reply

Your email address will not be published. Required fields are marked *