Zum Inhalt springen

IRQ Affinität


dr.disk

Empfohlene Beiträge

Am einfachsten erklärt sich das wohl mit einem Beispiel. Das hier ist einer unserer Server:

vm01:~ # cat /proc/interrupts

           CPU0       CPU1       CPU2       CPU3

  0:   99971792   99957049  114133802   99954721    IO-APIC-edge  timer

  1:        157         44          0         17    IO-APIC-edge  i8042

  4:        340        375        299        535    IO-APIC-edge  serial

  8:  204721286  204721835  204721331  233757438    IO-APIC-edge  rtc

  9:          1          0          0          0   IO-APIC-level  acpi

 12:        113          0          0          0    IO-APIC-edge  i8042

 14:   15399773   13493408   13496207   13489883    IO-APIC-edge  ide0

169:   11735602   11893726   12807179   11978599   IO-APIC-level  uhci_hcd:usb1, eth0, eth1

177:    4407154    3798346    3832176    3832993   IO-APIC-level  ips

185:          0          0          0          0   IO-APIC-level  uhci_hcd:usb2

193:          2          0          0          0   IO-APIC-level  ehci_hcd:usb3

201:          0          0          0          0   IO-APIC-level  eth2

NMI:     242729     241115     229195     240555

LOC:  412370722  412281521  412370676  412281472

ERR:          3

MIS:          0

Hierbei handelt es sich um zwei Xeons mit HyperThreading. Wenn man jetzt z.B. Interrupt 14 und 169 ansieht wäre es wünschenswert den einen auf CPU0, den anderen auf CPU2 laufen zu lassen. Somit würde sich die erste CPU um das IDE-Gerät, die zweite um die Netzwerkkarten kümmern.

Sehr schön wäre natürlich auch, wenn man die beiden Netzwerkkarten eth0 und eth1 auf den beiden Prozessor-Packages verteilen könnte, also eth0 auf CPU0 und eth1 auf CPU2. Das geht hier leider nicht (liegt am Boarddesign des IBM Servers). Mir würde für den Anfang schon reichen Storage (ips, ide) auf einem Prozessor, Netzwerk auf den anderen laufen zu lassen. Um weitere Performance zu gewinnen wird evtl. auch wieder die eth2 aktiviert.

Noch als weitere Erklärung zum Schluß: Es sind ja zwei Xeons mit HT, d.h. CPU0 und CPU1 sind das erste Package, CPU2 und CPU3 das zweite. Dabei ist CPU0 die "reale", CPU1 die HT-CPU (analog bei CPU2 und CPU3). Intel empfiehlt Interrupts von den realen CPUs erledigen zu lassen da diese das performanter machen - hier also CPU0 und CPU2.

Eine weitere Erklärung dazu habe ich inzwischen im Internet hier gefunden: Welcome to the irqbalance website | Home

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...