How can I find out why my CPU Is spiking to 100%?

January 28, 2014 11.1k views
I have one droplet that has 7 WordPress installs on it. Most sites get very little traffic so resources are not an issue. However, every so often the CPU spikes to 100% and stays there. The only thing I can do is log into the website and power cycle the machine. How can I find out what's causing this?
  • I have the same problem with a tiny apache2 in my droplet.

    I have just a simple apache2 and I am building a PHP webapp. I have seen this happend to me twice already while in VI in last 3 months. We should be atleast able to know why such things in droplets.

  • It's reassuring I'm not the only one with this ongoing issue. I have a single WP install on a 512mb Ubuntu droplet. I get random 50–100% CPU spikes, sometimes twice a day, once in awhile never. This cripples logging in via ssh, or visiting its http address. No pattern found in the error and slow logs. Can't tell if it's DigitalOcean, ServerPilot, or a plugin.

    When debugging WP, there are no errors. I have WP Super Cache dump its cache every midnight, NOT when a post/page has been updated. There are no other scheduled processes performing like external backups—I haven't been able to get that far.

  • I'm facing the same problem with a 512MB droplet. This is what I get:

  • i am facing the same problem twice. First I thought it was problem with my script but its working fine on another server. No way to detect why this is happening.

  • I too had this problem (with smallest droplet 0.5 GB RAM + ISPConfig 3), So I tried digging into the problem, I used "htop" to monitor the process that was eating the CPU out, I saw "amavisd " was the only culprit.

    So I searched the interwebs and found similar problem being reported so I disabled the "amavisd" By this command "systemctl enable amavisd.service" and commenting out the "Example" line inside the fiel "/etc/freshclam.conf".

  • I get spikes of 80% with 3 wordpress sites with very low traffic. Site was installed with serverpilot & I believe swap is enabled

25 Answers

I believe that all of those reports of "out of memory" are related to lack of virtual memory. Digital Ocean droplets don't come with swap partitions enabled by default, so the kernel just kill the process when it's not possible to allocate more RAM for it

I had problems with a long-running Java process I developed and the solution was pretty simple.

Check the links below to enable it on Ubuntu or CentOS:

by Justin Ellingwood
Swap space can be used as an "overflow" area for your system when you run out of RAM. The operating system can store data that would normally be kept in RAM on the hard drive in a specially formatted file. In this guide, we'll demonstrate how to create and use one of these files in Ubuntu 14.04.
Are you able to SSH into your droplet when the CPU spikes to 100%? If so, run top after you connect—the processes will be listed by CPU usage.
When I try to SSH in, it just sits there and waits for an opening to connect. Which doesn't seem to ever happen.
Hmm. Can you access your droplet via the remote console (
I never tried that one. Basically since the server is overloaded, connecting to it any way probably isn't going to happen.
The console is already running on your droplet, it's like hooking up a monitor and a keyboard to your server and making them available to you through the browser. Give it a shot, there's a high chance you'll be able to log in.
Thanks. I'll try that next time as long as it's not 4am. :)

Hopefully it'll be a while before this happens again, but then again, it could be a day or two.
Sadly, that didn't take long. It was just down. Looks like it's out of memory.

I wasn't able to do anything but see the message above.

Now I need to figure out what's taking up so much memory as my sites aren't that popular that they should be eating up so much memory.
The only solution I can find is to abandon the droplet. There is something seriously wrong and no clue how to find out what. The droplet currently has 5 sites running on it, one is static HTML and the rest are WordPress. Combined they maybe get 100 hits a day.

When the server spikes the CPU graph goes through the roof and I can't terminal in, I can't use the virtual console, I can't do anything but force it to shutdown or reboot.

When I am able to get into the virtual console, all it says is "out of memory" and it's trying to kill processes. But it never lets me log in or do anything.

All I can come up with is it's out of memory. Even though the sites get very little traffic, 512 seems to be to little. Even if this is the case, it's strange how it can go one week and be fine. Then crash three times in the next week.

I did find this in the messages log: mysqld invoked oom-killer. That seems to be when the server stops responding. Googling that I came up with these:

Long story short, I have no idea what's going on still.
I have the same issue, this seems to be an issue on DO's side.
Hey! I have the same issue on some droplets running a nodejs app. Any chance that it could be a DO issue?

I have a similar situation, running Virtualmin + Wordpress on a 512mb Ubuntu 14 droplet. Suddenly the site became unresponsive while testing out a new e-mail notification system, turns out CPU was through the roof on the real-time chart.

Does anyone have any clue as to which logs to look at for more info?


Same sh... thing happens here. It spikes out of blue, CPU 100%, no outside access, no ssh, the only thing I can do restart the droplet which is the same as pressing power button.
Since when I need to press a power button on the server?
Something seriously freaked up on DO side

The samething happend, 512MB-20GB-1T-NY-CENTOS-NODE.
The CPU suddenly spiked and I was not able to login. I had to reboot the server.

Hi all, I have just had this happen to one of my droplets (CentOS7). Suddenly my SSH was terminated and I couldn't log back in.

Had to do a graceful/forced reboot to re-gain access..

The server is only there to hold backup files so im slightly worried that the droplet is not reliable. :-/

Same issue here. Running nodejs + mongodb on ubuntu.

Same issue here, are DO acknowledging this problem> We find we are restarting the server ever 5-6 days. CPU at 100%

I have the same problem, i found out the reason, that the Whois command consumes the most CPU 99.9%.
but why is this command and how to solve it?

I am facing the same issue. I am running the Django framework on droplet with 2 GB Memory / 40 GB Disk / SGP1 - Ubuntu 14.04.3 x64. API's are implemented and using ORM Mysql query to send the response. Even when 10 user uses the App, CPU load goes more then 100% and I can't access the droplet until I reset the password from digital ocean online account.

The same for me.
Tiny Node.js app on 512mb Ubuntu 14.04.4 LTS droplet.
I've just bought this machine a week ago and it happened three times so far.
Look at the screenshot it happens regularly:

Same issue ,CPU keeps maxing out!!

I have one apache server with 5 WP sites, this was running fine but I had an ubuntu server with 1 site that kept crashing out. Having researched I came to the conclusion it was ubuntu, so I moved the site onto the Apache one which had been fine for 2 weeks.

Now.. All of a sudden its doing it again even when I disable sites to try diagnose which one's causing the problem the CPU just keeps maxing, longest I can keep it going is a few min before having to power cycle.

Will have to abandon DO at this rate

Hey people, I got the solution for Node.js based apps!

All you need to do is to say Node app how much memory it should take.
node --max_old_space_size=256 app.js
since then, it works fine for 512MB Droplet :)

Anyone find a solution to this with a WP install. I have a WP site with no traffic or DNS even pointing to the site, doesnt matter if I use WP default 2016 theme or an optimized custom theme, after a day or two it just spikes to 100% and I have to reboot it. I installed via server pilot and have about 10 other accounts that work fine, this one I have recreated the droplet 3 times and still see this issue, its like its only on this account?

My droplet (512MB, 20GB) experienced the same issue. I manage to find the process 'update-apt-xapi' was causing the high usage. The solution in my case was to alter the priority of the cron config. Solution #1 on this site Ubuntu : update-apt-xapi takes lot of cpu usage.

Hope that helps someone

Have another answer? Share your knowledge.