How we nailed docker high cpu usage

These days, hosting sites in Docker aids in speedy setup, decreasing expenses, uncomplicated upkeep and numerous far more.

Regardless of the immense positive aspects, typically Docker higher CPU usage build problems in Net Hosting. And, it becomes difficult to come across the precise container making trouble.

At Bobcares, we typically get requests to repair higher CPU usage in Docker setup as aspect of our Docker Management Solutions.

Now, we’ll see the top rated causes for Docker higher CPU usage  and how Bobcares’ Engineers nailed CPU usage for one particular of our shoppers.


Important positive aspects of Docker

Firstly, its beneficial to analyze on why Docker is one particular of the preferred selection for net providers.

Docker makes it possible for to get the finest out of an current server. It can accommodate numerous containers that can host various applications. Once again, with the use of pictures, Docker container setup becomes quite uncomplicated. We just want to consist of all the applications in the base image. And, spin up any quantity of containers practically quickly.

Similarly, the lightweight containers makes it possible for hundreds to thousands of tasks to be carried out independently. And, they ordinarily do not have an effect on other containers also. There are alternatives to limit sources on each and every Docker container. Portability to many platforms, Safety, and so forth. come as added benefit in docker setup.

In brief, we’ve observed situations exactly where Docker guarantees far more returns of investment, if maintained effectively.


Causes for higher CPU usage

CPU usage plays an significant function in Docker Host overall performance.

By default, when no CPU limits are set on person Docker containers, one particular container can use up all the accessible CPU resource on the server. As a result, it would have an effect on all other containers and sooner or later make them slow.

From our expertise in managing Docker infrastructure, our Docker Specialists typically see higher CPU usage by containers. Let’s now take a appear at top rated causes that bring about it.


1. Insufficient Docker container sources

Ordinarily, the hardware needs typically play an significant function in the Docker overall performance. When customers build far more containers beyond the actual accessible physical sources on the server, it influence the functioning of Docker.

Once again, the sources on the container must match the requirement of the hosted application. For instance, on preparing to run higher-load applications on Docker, the container want to have more CPU limits. And, we usually allot far more CPU share to a container by setting acceptable CPU weights.

To assign a CPU share of 512 to a container for the duration of creation or run-time, we use the ‘docker run’ command as

docker run -ti -c 512 ubuntu /bin/bash


2. Buggy Applications on Containers

However yet another cause for higher Docker CPU usage attributes to applications operating inside the container. For instance, a buggy java application can take up all the CPU sources and bring about resource crunch. Similarly, a WordPress brute-force attack on sites can also bring about problems.


Repair for CPU usage in Docker

We just saw the top rated causes that bring about higher CPU usage. But, the actual challenge lies in identifying the precise container that causes trouble and the user involved in it.

We’ll now take a appear at how our Docker Specialists optimized CPU usage for one particular of our client.

This client complained about the higher CPU % usage on his Docker Host. It usually showed 100% usage as in the image. He wanted to know the actual cause for this.

1. Identifying the trouble container

The 1st step of investigation was to come across out the Docker container that was causing the 100% CPU usage. However, a ‘top rated‘ command on the Docker host will not function right here. It will only show the top rated processes operating on the host server and not the processes operating inside the container.

Fortunately, the command “docker stats” comes to the rescue right here. It displays a reside stream of containers resource usage statistics. A sample output from one particular of the Docker host appears as beneath.

docker stats --all --format "table {{.ID}}t{{.Name}}t{{.CPUPerc}}t{{.MemUsage}}"
CONTAINER ID                                                       
NAME                           CPU %               MEM USAGE / LIMIT
13b222900xxxxxxxxxxxx24cbbaa8c32f5c0c551b3386a0ec72             4.31%               748.5MiB / 15.67GiB
https-portal                   0.39%               8.457MiB / 15.67GiB

2.Checking certain container course of action

Now that we know the certain container causing trouble, we list the processes operating on the container making use of:

docker ps | grep 

Immediately after that, we examined the container logs. We then saw numerous POST attempts to one particular of the WordPress sites on the server.

{"log":"172.xx.xx.10 - - [11/May/2019:08:57:48 +0000] "POST /wp-login.php HTTP/1.0" 200 2139 "-" "Mozilla/5.0 (X11 Ubuntu Linux x86_64 rv:62.0) Gecko/20100101 Firefox/62.0"n","stream":"stdout","time":"2019-05-11T08:57:51.80441157Z"}

Right here, there was attack on the web site from many IP addresses. And, it resulted in the higher CPU usage and load on the container.


3. Fixing the trouble

The final step is to repair the trouble and make confident that it doesn’t occur once again. In this case, our Assistance Engineers blocked suspicious IP addresses on the firewall.This stopped the processes and the CPU usage was purchased back to regular.

Also, we recommended the server owner to tweak the WordPress on the web site to stay away from brute force attacks.

[Do you know that our Docker monitoring can avoid server down situations due to higher CPU usage ?}



In brief Docker higher CPU usage occurs due to restricted sources on the container, misuse of installed applications, and so forth. Now, we saw how our Docker specialists nailed down higher CPU usage on Docker container due to WordPress attack.

The post How we nailed docker higher cpu usage appeared 1st on Bobcares.