GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Betriebssystemdienst „irqbalance“

irqbalance ist ein Linux-Daemon, der Interrupts zwischen den Prozessoren und Kernen in Ihrem Computersystem verteilt. Das Designziel von irqbalance besteht darin, ein Gleichgewicht zwischen Energieeinsparung und optimaler Leistung zu finden. Die Arbeit, die irqbalance leistet, ist zu einem großen Teil für Sie unsichtbar. Der Daemon gleicht die Einsparungen beim Stromverbrauch mit der Leistung aus.

irqbalance ist auf x86-, x86_64- und AMD-Systemen mit mehreren Prozessoren relevant. Die irqbalance-Konfigurationsdatei /etc/sysconfig/irqbalance ermöglicht die Auswahl, welche CPUs welchen Interrupts zugeordnet werden dürfen. Nachfolgend finden Sie eine Beispielkonfigurationsdatei des RHEL 7-Systems.

# 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=

Die konfigurierbaren Elemente werden unten besprochen:

Parameter Standard Beschreibung
ONESHOT NEIN Nachdem das System 10 Sekunden lang gelaufen ist, passen Sie die Unterbrechungsdienstzuweisungen einmal an und beenden Sie es dann.
IRQ_AFFINITY_MASK leer Eine Bitmaske, deren 1-Bits angeben, welche CPUs beim Ausgleichen der Interrupt-Anforderungen übersprungen werden sollen. Dies ermöglicht, dass ein bestimmter Satz von CPUs nicht durch Interrupt-Dienstlasten gestört wird. Diese Einstellung dient nur der Legacy-Kompatibilität; Verwenden Sie stattdessen IRQBALANCE_BANNED_CPUS.
IRQBALANCE_BANNED_INTERRUPTS leer Eine durch Leerzeichen getrennte Liste der Interrupt-Anforderungsebenen, die irqbalance beim Ausgleichen ignorieren sollte. Dadurch kann ein Interrupt auf derselben CPU gehalten werden; Dies kann die Leistung verbessern, indem die Wahrscheinlichkeit erhöht wird, dass der Interrupt-Service-Code und -Kontext im Hochgeschwindigkeits-Cache-Speicher der CPU gehalten werden, und teure Cache-Line-Aktualisierungen vermieden werden.
IRQBALANCE_BANNED_CPUS leer Eine Bitmaske, deren 1-Bits diejenigen CPUs anzeigen, denen niemals ein Interrupt-Dienst zugewiesen werden sollte. Dies kann die Leistung verbessern, indem der Overhead des Interrupt-Dienstes entfernt wird, insbesondere das Neuladen des CPU-L1- und L2-Cache.

Dienstdetails

– Speicherort des Init.d-Skripts -> /etc/init.d/irqbalance
– Beispiel für „chkconfig –list [Dienst]“

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

– Verfügbare Dienstnutzungsoptionen:

# 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

– Welche Daemons werden ausgeführt:/usr/sbin/irqbalance
– Welche Module werden geladen:keine

Sonstige Informationen

– RPM-Pakete:irqbalance-[version]-[release]
Beispiel:irqbalance-1.0.4-10.el6.x86_64

– Konfigurationsdatei:/etc/sysconfig/irqbalance
– Projekt-Homepage:https://github.com/Irqbalance/irqbalance

Wann sollte nicht verwendet werden

In den meisten Fällen ist der irqbalance-Dienst aktiviert und sollte verwendet werden, es sei denn:

  • Manuelles Anheften von Apps/IRQs an bestimmte Kerne aus einem sehr guten Grund (geringe Latenz, Echtzeitanforderungen usw.)
  • Virtuelle Gäste. Es macht nicht wirklich Sinn, denn wenn Sie den Gast nicht an bestimmte CPUs und IRQs und dedizierte Netz-/Speicherhardware binden, werden Sie wahrscheinlich nicht die Vorteile sehen, die Sie auf Bare Metal hätten.


Linux
  1. Linux-Betriebssystemdienst „iptables“

  2. Linux-Betriebssystemdienst „Netzwerk“

  3. Linux-Betriebssystemdienst „portmap“

  4. Linux-Betriebssystemdienst „auditd“

  5. Linux-Betriebssystemdienst „nfs“

Linux-Betriebssystemdienst „anacron“

Linux-Betriebssystemdienst „hplip“

Linux-Betriebssystemdienst „smartd“

Linux-Betriebssystemdienst „rpcgssd“

Linux-Betriebssystemdienst „yum-updatesd“

Linux-Betriebssystemdienst „acpid“