irqbalance est un démon Linux qui répartit les interruptions entre les processeurs et les cœurs de votre système informatique. L'objectif de conception d'irqbalance est de trouver un équilibre entre les économies d'énergie et des performances optimales. Dans une large mesure, le travail effectué par irqbalance vous est invisible. Le démon équilibre les économies de consommation d'énergie avec les performances.
irqbalance est pertinent sur les systèmes multiprocesseurs x86, x86_64 et AMD. Le fichier de configuration irqbalance /etc/sysconfig/irqbalance permet de sélectionner quelles CPU peuvent être affectées à quelles interruptions. Vous trouverez ci-dessous un exemple de fichier de configuration du système 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=
Les éléments configurables sont décrits ci-dessous :
Paramètre | Par défaut | Description |
---|---|---|
ONESHOT | NON | Une fois que le système a fonctionné pendant 10 secondes, réglez une fois les affectations du service d'interruption, puis quittez. |
IRQ_AFFINITY_MASK | vide | Un masque de bits dont les bits 1 indiquent quel processeur doit être ignoré lors de l'équilibrage des demandes d'interruption. Cela permet à un ensemble donné de processeurs de ne pas être dérangé par une charge de service d'interruption. Ce paramètre est uniquement destiné à la compatibilité héritée ; utilisez IRQBALANCE_BANNED_CPUS à la place. |
IRQBALANCE_BANNED_INTERRUPTS | vide | Une liste délimitée par des espaces des niveaux de demande d'interruption qu'irqbalance doit ignorer lors de l'équilibrage. Cela permet de conserver une interruption sur le même CPU; cela peut améliorer les performances en augmentant la probabilité que le code et le contexte du service d'interruption soient conservés dans la mémoire cache haute vitesse du processeur et en évitant les actualisations coûteuses de la ligne de cache. |
IRQBALANCE_BANNED_CPUS | vide | Un masque de bits dont les bits 1 indiquent les processeurs auxquels un service d'interruption ne devrait jamais être assigné. Cela peut améliorer les performances en supprimant la surcharge du service d'interruption, en particulier les rechargements de cache CPU L1 et L2. |
Détails du service
– Emplacement du script init.d -> /etc/init.d/irqbalance
– Exemple de « chkconfig –list [service] »
# chkconfig --list irqbalance irqbalance 0:off 1:off 2:on 3:on 4:on 5:on 6:off
– Options d'utilisation du service 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
– Quels démons exécute-t-il :/usr/sbin/irqbalance
– Quels modules charge-t-il :aucun
Autres informations
– Paquets RPM :irqbalance-[version]-[release]
par exemple :irqbalance-1.0.4-10.el6.x86_64
– Fichier de configuration :/etc/sysconfig/irqbalance
– Page d'accueil du projet :https://github.com/Irqbalance/irqbalance
Quand ne pas utiliser
La plupart du temps, le service irqbalance est activé et doit être utilisé sauf si :
- Épingler manuellement des applications/IRQ à des cœurs spécifiques pour une très bonne raison (faible latence, exigences en temps réel, etc.)
- Invités virtuels. Cela n'a pas vraiment de sens, car à moins que vous n'épingliez l'invité à des processeurs et des IRQ spécifiques et à du matériel réseau/de stockage dédié, vous ne verrez probablement pas les avantages que vous obtiendriez sur du métal nu.