Regular WHM processes taking too much I/O

postcd

Well-Known Member
Oct 22, 2010
721
20
68
Hello,

i think around daily WHM server I/O become too high thanks to these proceses:

cpanellogd - processing bandwidth
updatedb -f sysfs
updatenow.static-cpanelsync
whostmgr ./simpleps
rpm -vV MySQL55-client MySQL55-d~er cpanel-perl-514-Class-Factory-*
rpm -qa --queryformat %{NAME} %{VERSION}-%{RELEASE}\n
python /usr/bin/yum -y update
python -tt /usr/libexec/yum-updatesd-helper --check --dbus

these are most IO users when do command "iotop -a"

im not sure why these are made to be running all at same time to overload the server, how can i modiffy WHM to not do all these at same time or eliminate I/O issue?

thx
 
Last edited:

cPanelMichael

Administrator
Staff member
Apr 11, 2011
47,903
2,237
463
Hello :)

Most of those processes likely stem from a cPanel update (upcp). When you say the I/O is too high, could you elaborate more on the exact levels? Is your server speed slowed significantly?

Thank you.
 

postcd

Well-Known Member
Oct 22, 2010
721
20
68
not sure how you mean elaborate IˇO levels, but above mentioned are usually on the top of "iotop -a" process list with more than 90% io most time. slowness can be felt during loading hosted sites, and especially WHM/cpanel control panel pages in webbrowser, which hangs even 8 seconds before loading page, usually its 4 seconds

my initial question was not responded
 

cPanelMichael

Administrator
Staff member
Apr 11, 2011
47,903
2,237
463
You can modify the time at which the cPanel update occurs, but you can't change what happens when cPanel updates. You may receive more user-feedback if you post the output of iotop.

Thank you.
 

postcd

Well-Known Member
Oct 22, 2010
721
20
68
what about changing linux nice value of the updates regarding I/O / where to do??


I found cpanel cronjob tasks (like update, backup) can be set in:

Home »Server Configuration »Update Preferences
Home »Server Configuration »Configure cPanel Cron Jobs

But times probably not much recommended to change..

An Idea: it may be good to modiffy cronjob time so it dont overlaps with other custom cronjobs on the server.

Example i have some crons in /etc/cron.daily /etc/cron.weekly, etc/cron.monthly

the times these runs can be probably modiffied in file:
/etc/cron.d/dailyjobs

so make sure it dont overlaps with cpanel conjobs at Home »Server Configuration »Configure cPanel Cron Jobs

Good hint on cronob times can be server load average graph provided by Config server firewall WHM plugin, "View System Statistics" section
 
Last edited:

cPanelMichael

Administrator
Staff member
Apr 11, 2011
47,903
2,237
463
You can configure I/O priority levels for some processes under the "System" tab in "WHM Home » Server Configuration » Tweak Settings", however it's not configurable for "upcp". The cPanel update is comprised of several different sub-processes.

Thank you.
 

markhard

Well-Known Member
Apr 22, 2004
252
0
166
i also seeing high I/O on those processes, especially when cpanellogd processing log and updatedb -f sysfs

i'm thinking to add SSD disk to remedy the I/O and plan to move related files to cpanellogd to that SSD. my question is where does cpanellogd files located? and if it use some kind of temporary path to work on the logs, where is it located?

regarding the updatedb -f sysfs, is it needed by cpanel to operate properly?
 

cPanelMichael

Administrator
Staff member
Apr 11, 2011
47,903
2,237
463
You could remove the "mlocate" package through YUM if you don't need to use the "locate" command. This will stop the "updatedb" process. As far as cpanellogd, moving it is not really feasible. However, you can browse to the "Stats and Logs" tab in "WHM Home » Server Configuration » Tweak Settings" and modify the following option:

"Extra CPUs for server load"

The load average above the number of CPUs at which cpuwatch, cpanellogd, backups, and CPU stats consider the system to be in a critical load state. For example, a server with 4 physical CPUs and a value of 2 in this field will be considered “critical” in these cases once the load reaches 6.

Thus, you can ensure statistics generations are suspended when the load reaches a certain point. Also, under the "System" tab, you can modify:

"I/O priority level at which stats logs are processed"

Thank you.
 

postcd

Well-Known Member
Oct 22, 2010
721
20
68
Is it bad idea to modiffy /etc/cron.daily/mlocate.cron

#!/bin/sh
nodevs=$(< /proc/filesystems awk '$1 == "nodev" { print $2 }')
renice +19 -p $$ >/dev/null 2>&1
ionice -c2 -n7 -p $$ >/dev/null 2>&1
/usr/bin/updatedb -f "$nodevs"
and add ionice *** before line "/usr/bin/updatedb -f "$nodevs""?
or better solution is any of the ones mentioned by Michael in previous post?