Support Hub

Troubleshooting CPU/Memory Usage

  • Updated


There are a number of ways you can check to see what's using the resource on your server.  We've introduced a few of pages on the Platform you can use which may give you an insight as to what's going on.


Firstly, the server's dashboard gives you a breakdown for average processor usage, current memory usage and disk usage.  You can use notifications to send you emails when these resources hit a certain level which can really help you manage your server more proactively, here's a guide for setting those up).  Please bear in mind that short bursts of high usage for the processor are normal and expected.  If you notice extended bouts then this would indicate there may be an issue.


If you select Metrics on the left hand side of the screen on the server dashboard you can see a breakdown of processor/disk/memory usage for the last hour/day/2 weeks.


Going in to the site on the Platform could give you a bit more information.  From the server dashboard select the site and then Analytics & Logs.  In the top graph you can see visitor and request volume over a period of time.  The next graph down gives you top visitors and then there's the top requested URLs and then browsers.


Check to see if you have one particular IP address hitting your site and causing the problem, and you can easily block it in the Platform, here's a guide for that.  If the traffic looks to be genuine then maybe it would be an idea to request a Powerboost for the server.  We've got a bit more about that and how to request one here.  Scroll down on the Analytics and Logs page and you can also look at the site's logs on this page, we've got more on reading log files here.


If this doesn't give you the information you need then you need to SSH to the server to dig a bit deeper.  We have a guide on SSHing here and you can pick up the SSH details using this guide.


A powerful tool via SSH is 'top' to see the processes running on the server.  Once connected via SSH type top (or top -c to get more information) to give you the load average and the high usage processes.  Look at the processes at the top of the list, what are they and what site is running them (USER tells you the site name or part of it).  The CPU heading shows you the amount the process is using and the TIME tells you how long it's been running.  Under COMMAND it tells you what the process is and will maybe give you a bit more information about what's happening.  It's still tricky, but if it's a PHP command that's likely to be a script and maybe down to something running on the site, or perhaps traffic to the site.  Don't forget to check the site's access and error logs for more information about traffic.


Another thing to look at would be the MYSQL processes.  Control C to come out of top and type in MYSQL and then show processlist;  This displays all the processes that MYSQL is running and what query it is.  This might help you pinpoint the issue.


Sometimes a good old reboot solves things (sadly not always).  You can do that through the platform, here's a guide.