Plesk obsidian high CPU usage – Quick Fix
Sticking with the Plesk’s evolution is a decent choice. Plesk obsidian high CPU usage is one of the issues you may face. Especially, after upgrading from Onyx to Obsidian. However, a fresh installation performs very well and is bug-free.
At Bobcares, our Support Engineers often get the request to solve high CPU usage problems as a part of our Server Management Services.
Today, let’s analyze the cause and see how our Support Team fix CPU usage for our Plesk Obsidian customers.
What is Plesk Obsidian?
Speed and performance are the most required features in the control panel. Certainly, Plesk is a timely solution.
It has simplified the life of system admins. It is a powerful management platform for hosting and cloud servers. Above all, it is an effective choice for application developers as well.
Cause and Fix for Plesk obsidian high CPU usage
Let’s now analyze a scenario where we fixed high CPU usage in the Plesk Obisidian server.
Mostly, the shared hostings of one of our customer were having Plesk. We also helped him to migrate a few servers to Plesk due to sudden changes in cPanel pricing.
Recently, we faced Plesk obsidian high CPU usage problem after upgrading one of our client’s servers to Obsidian. The high CPU spike stopped some of the services. Websites, as well as server, was down. As a result, we were even unable to access the server via SSH. Therefore, we rebooted the server to bring back the service.
The CPU usage keeps getting higher after some time and the same issue keeps repeating. Our Support Team investigated the issue and brought back the stable server. Let’s see the causes and solutions in detail.
1. The limit for max_children setting
Upon checking php-fpm logs we found that some domains were reaching the limit of max_children which was 5.
/var/log/plesk-php72-fpm/error.log:[05-Nov-2019 11:48:43] WARNING: [pool example.com] server reached max_children setting (5), consider raising it
This was a problem. The next challenge was to list the domains reaching the limit. We used the grep command in the logs to find these domains.
We increased the max_children value for those domains by going to Domains > example.com > PHP Settings > PHP-FPM Settings in Plesk Panel.
Then we increase pm.max-children value for the domains and apply the changes.
Note: The server performance can be affected if
pm.max_children is too big. For instance, in this example, we are setting
pm.max_children to 20. In addition to the increase of limit, we suggest upgrading to VPS for more resources.
2. Plesk obsidian high CPU usage by ‘sa-learn’ process
Yet another reason for high CPU usage can be the Spamassassin.
sa-learn is a script used by
spamassassin to learn the specific properties of spam from a folder that contains only spam emails. It also can cause Plesk obsidian high CPU usage. However, CPU usage depends on the number of emails and the size of a mailbox.
In one of our client’s server, we found the following process consuming a lot of CPU resource :
504925 popuser 30 10 252128 43256 4376 R 97.0 0.5 0:02.96 /usr/bin/perl -T -w /usr/bin/sa-learn --spam --no-sync -L --dbpath /var/qmail/mailnames/domain.com/..
As a workaround, we set the sa-learn process with the lowest CPU priority with the following command :
renice 19 <Pid>
After this, the server became stable and started running flawlessly.
[Having trouble in fixing Plesk Obsidian errors? – We’ll fix it for you.]
In short, Plesk obsidian high CPU usage may occur due to multiple reasons. Today, we saw how our Support Engineers fixed errors related to the Plesk Obsidian.