GNU/Linux >> Tutoriales Linux >  >> Linux

Servicio del sistema operativo Linux 'irqbalance'

irqbalance es un demonio de Linux que distribuye interrupciones entre los procesadores y núcleos de su sistema informático. El objetivo de diseño de irqbalance es encontrar un equilibrio entre el ahorro de energía y el rendimiento óptimo. En gran medida, el trabajo que hace irqbalance es invisible para usted. El daemon equilibra el ahorro en el consumo de energía con el rendimiento.

irqbalance es relevante en los sistemas multiprocesador x86, x86_64 y AMD. El archivo de configuración de irqbalance /etc/sysconfig/irqbalance permite la selección de qué CPU se pueden asignar a qué interrupciones. A continuación se muestra un archivo de configuración de muestra del sistema RHEL 7.

# cat /etc/sysconfig/irqbalance
# irqbalance is a daemon process that distributes interrupts across
# CPUS on SMP systems. The default is to rebalance once every 10
# seconds. This is the environment file that is specified to systemd via the
# EnvironmentFile key in the service unit file (or via whatever method the init
# system you're using has.
#
# ONESHOT=yes
# after starting, wait for a minute, then look at the interrupt
# load and balance it once; after balancing exit and do not change
# it again.
#IRQBALANCE_ONESHOT=

#
# IRQBALANCE_BANNED_CPUS
# 64 bit bitmask which allows you to indicate which cpu's should
# be skipped when reblancing irqs. Cpu numbers which have their
# corresponding bits set to one in this mask will not have any
# irq's assigned to them on rebalance
#
#IRQBALANCE_BANNED_CPUS=

#
# IRQBALANCE_ARGS
# append any args here to the irqbalance daemon as documented in the man page
#
#IRQBALANCE_ARGS=

Los elementos configurables se analizan a continuación:

Parámetro Predeterminado Descripción
UNA TOMA NO Después de que el sistema haya estado funcionando durante 10 segundos, ajuste las asignaciones del servicio de interrupción una vez y luego salga.
IRQ_AFFINITY_MASK vacío Una máscara de bits cuyos bits 1 indican qué CPU deben omitirse al equilibrar las solicitudes de interrupción. Esto permite que un conjunto determinado de CPU no se vea afectado por ninguna carga de servicio de interrupción. Esta configuración es solo para compatibilidad heredada; utilice IRQBALANCE_BANNED_CPUS en su lugar.
IRQBALANCE_BANNED_INTERRUPTS vacío Una lista delimitada por espacios de los niveles de solicitud de interrupción que irqbalance debe ignorar al equilibrar. Esto permite mantener una interrupción en la misma CPU; esto puede mejorar el rendimiento al aumentar la probabilidad de que el código y el contexto del servicio de interrupción se mantengan en la memoria caché de alta velocidad de la CPU y evitar costosas actualizaciones de la línea de caché.
IRQBALANCE_BANNED_CPUS vacío Una máscara de bits cuyos bits 1 indican aquellas CPU que nunca deberían tener asignado un servicio de interrupción. Esto puede mejorar el rendimiento al eliminar la sobrecarga del servicio de interrupción, especialmente las recargas de caché L1 y L2 de la CPU.

Detalles del servicio

– Ubicación del script Init.d -> /etc/init.d/irqbalance
– Ejemplo de “chkconfig –list [servicio]”

# chkconfig --list irqbalance
irqbalance      0:off   1:off   2:on    3:on    4:on    5:on    6:off

– Opciones de uso del servicio disponibles:

# service irqbalance
Usage: /etc/init.d/irqbalance {start|stop|status|restart|reload|condrestart}
# service irqbalance start
Starting irqbalance:                                       [  OK  ]
# service irqbalance stop
Stopping irqbalance:                                       [  OK  ]
# service irqbalance status
irqbalance (pid 14857) is running...
# service irqbalance restart
Stopping irqbalance:                                       [  OK  ]
Starting irqbalance:                                       [  OK  ]
# service irqbalance reload
Stopping irqbalance:                                       [  OK  ]
Starting irqbalance:                                       [  OK  ]
# service irqbalance condrestart

– Qué demonios ejecuta:/usr/sbin/irqbalance
– Qué módulos carga:ninguno

Otra información

– Paquetes RPM:irqbalance-[versión]-[lanzamiento]
por ejemplo:irqbalance-1.0.4-10.el6.x86_64

– Archivo de configuración:/etc/sysconfig/irqbalance
– Página de inicio del proyecto:https://github.com/Irqbalance/irqbalance

Cuándo no se debe usar

En la mayor parte del tiempo, el servicio irqbalance está habilitado y debe usarse a menos que:

  • Anclar manualmente aplicaciones/IRQ a núcleos específicos por una muy buena razón (baja latencia, requisitos de tiempo real, etc.)
  • Invitados virtuales. Realmente no tiene sentido porque, a menos que esté conectando al invitado a CPU e IRQ específicos y hardware de red/almacenamiento dedicado, es probable que no vea los beneficios que obtendría con el metal desnudo.


Linux
  1. Servicio del sistema operativo Linux 'dhcpd'

  2. Servicio de sistema operativo Linux 'nfs'

  3. Servicio del sistema operativo Linux 'microcode_ctl'

  4. Servicio del sistema operativo Linux 'hplip'

  5. Servicio del sistema operativo Linux 'rpcgssd'

Servicio de sistema operativo Linux 'ldap'

Servicio del sistema operativo Linux 'yppasswdd'

Servicio de sistema operativo Linux 'xendomains'

Servicio del sistema operativo Linux 'nscd'

Servicio de sistema operativo Linux 'calamar'

Servicio de sistema operativo Linux 'smartd'