Red Hat Training
A Red Hat training course is available for RHEL 8
20.3.6. Cambiar la prioridad de los servicios durante el proceso de arranque
Mediante el servicio systemd
, es posible establecer prioridades en tiempo real para los servicios lanzados durante el proceso de arranque. El unit configuration directives se utiliza para cambiar la prioridad de un servicio durante el proceso de arranque.
El cambio de prioridad del proceso de arranque se realiza mediante las siguientes directivas en la sección de servicio:
CPUSchedulingPolicy=
-
Establece la política de programación de la CPU para los procesos ejecutados. Se utiliza para establecer las políticas
other
,fifo
, yrr
. CPUSchedulingPriority=
-
Establece la prioridad de programación de la CPU para los procesos ejecutados. El rango de prioridad disponible depende de la política de programación de la CPU seleccionada. Para las políticas de programación en tiempo real, se puede utilizar un número entero entre
1
(prioridad más baja) y99
(prioridad más alta).
El siguiente procedimiento describe cómo cambiar la prioridad de un servicio, durante el proceso de arranque, utilizando el servicio mcelog
.
Requisitos previos
Instale el paquete ajustado:
# yum install tuned
Habilite e inicie el servicio ajustado:
# systemctl enable --now tuned
Procedimiento
Ver las prioridades de programación de los hilos en ejecución:
# tuna --show_threads thread ctxt_switches pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 1 OTHER 0 0xff 3181 292 systemd 2 OTHER 0 0xff 254 0 kthreadd 3 OTHER 0 0xff 2 0 rcu_gp 4 OTHER 0 0xff 2 0 rcu_par_gp 6 OTHER 0 0 9 0 kworker/0:0H-kblockd 7 OTHER 0 0xff 1301 1 kworker/u16:0-events_unbound 8 OTHER 0 0xff 2 0 mm_percpu_wq 9 OTHER 0 0 266 0 ksoftirqd/0 [...]
Cree un archivo de directorio de configuración del servicio
mcelog
suplementario e inserte el nombre de la política y la prioridad en este archivo:# cat <<-EOF > /etc/systemd/system/mcelog.system.d/priority.conf > [SERVICE] CPUSchedulingPolicy=_fifo_ CPUSchedulingPriority=_20_ EOF
Recarga la configuración de los scripts de systemd:
# systemctl daemon-reload
Reinicie el servicio mcelog:
# systemctl restart mcelog
Pasos de verificación
Muestra la prioridad de
mcelog
establecida porsystemd
issue:# tuna -t mcelog -P thread ctxt_switches pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 826 FIFO 20 0,1,2,3 13 0 mcelog
Recursos adicionales
-
Para más información, consulte las páginas man de
systemd
ytuna
. - Para más información sobre el rango de prioridad, véase Descripción del rango de prioridad.