maria-discuss team mailing list archive
-
maria-discuss team
-
Mailing list archive
-
Message #00405
Re: mariadb runs at lowest priority (nice -n 19)
Hi!
>>>>> "Panayot" == Panayot Belchev <panayot@xxxxxxxxxxx> writes:
Panayot> Hi,
Panayot> I just noticed that all our MariaDB 5.2 servers show the same:
Panayot> $ ps -eo ni,comm |grep mysql
Panayot> 9 mysqld_safe
Panayot> 19 mysql_isam_spac <defunct>
Panayot> 19 mysqld
I digged a bit deeper into this
Panayot> While servers with Oracle MySQL are at nice -n 0
pthread_setschedparam() uses sched_getscheduler() to set the priority.
It's called with pthread_setschedparam(thread, POLICY, &sp), where
POLICY == SCHED_OTHER
>From 'man sched_setscheduler'
Scheduling Policies
The scheduler is the kernel component that decides which runnable
process will be executed by the CPU next. Each process has an associ
ated scheduling policy and a static scheduling priority, sched_prior
ity; these are the settings that are modified by sched_setscheduler().
The scheduler makes it decisions based on knowledge of the scheduling
policy and static priority of all processes on the system.
For processes scheduled under one of the normal scheduling policies
(SCHED_OTHER, SCHED_IDLE, SCHED_BATCH), sched_priority is not used in
scheduling decisions (it must be specified as 0).
As you are calling this with sched_priority <> 0,
pthread_setschedparam() will return EINVAL which has the effect that
pth_min_priority and pth_max_priority are always 0, which casues
xt_p_set_low_priority() to misbehave.
This is at least the case on SuSE 11.4 and Linux 2.6.37.6-0.5.
Regards,
Monty
References