Re: Balanceo de interrupciones entre procesadores
El Sun, 05 Oct 2014 17:27:36 +0200, José Miguel (sio2) escribió:
> Un saludo a la lista:
>
> Superviso un par de servidores con debian wheezy que más o menos tienen
> la misma configuración y me he encontrado con lo siguiente:
>
> El servidor que es un xeon con dos núcleos balancea bien las
> interrupciones. Sin embargo, en el servidor que tiene un i3 con cuatro
> núcleos me he encontrado con esto:
(...)
> Vamos, que todas las interrupciones las está gestionando un procesador.
Hum... en mi caso sí aparecen distribuidas:
sm01@stt008:~$ cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 70 27 28 19 IO-APIC-edge timer
1: 3383 3455 3388 3420 IO-APIC-edge i8042
6: 1 1 1 0 IO-APIC-edge floppy
7: 1 0 0 0 IO-APIC-edge parport0
8: 0 1 0 0 IO-APIC-edge rtc0
9: 0 0 0 0 IO-APIC-fasteoi acpi
12: 333829 334249 333814 333232 IO-APIC-edge i8042
16: 7663 7814 7822 7709 IO-APIC-fasteoi firewire_ohci, uhci_hcd:usb3, nvidia
17: 255533 255390 255608 256084 IO-APIC-fasteoi uhci_hcd:usb4, nvidia
18: 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb5, uhci_hcd:usb8
22: 105 110 128 136 IO-APIC-fasteoi uhci_hcd:usb7, firewire_ohci
23: 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb6, pata_it8213
66: 84758 84597 84678 84830 PCI-MSI-edge ahci
67: 161187 160797 160974 160976 PCI-MSI-edge eth1
68: 4182 4221 4223 4259 PCI-MSI-edge snd_hda_intel
NMI: 840 809 773 754 Non-maskable interrupts
LOC: 790156 890432 689320 708113 Local timer interrupts
SPU: 0 0 0 0 Spurious interrupts
PMI: 840 809 773 754 Performance monitoring interrupts
IWI: 0 0 0 0 IRQ work interrupts
RES: 3537890 3602954 3303244 3359884 Rescheduling interrupts
CAL: 54541 218263 43974 209234 Function call interrupts
TLB: 291352 249456 211030 267755 TLB shootdowns
TRM: 0 0 0 0 Thermal event interrupts
THR: 0 0 0 0 Threshold APIC interrupts
MCE: 0 0 0 0 Machine check exceptions
MCP: 102 102 102 102 Machine check polls
ERR: 0
MIS: 0
Mi micro es "antiguo" (~2008), un Intel Core2 Quad CPU Q9550@2.83GHz.
> ¿Sabe alguien algo al respecto? Tiene esto una solución que no sea
> asignarle una eth a cada cpu (eso sí he visto que funciona): los accesos
> a disco no los voy a poder repartir de ninguna forma.
>
> ¿Es casualidad que en el xeon funcionen bien las cosas y en el i3 no? En
> principio ambos tienen la misma configuración del kernel.
No lo había oído/leído nunca, pero en este artículo parecen indicar que
es normal que el primer núcleo gestione todas interrupciones.
Introduction to Linux Interrupts and CPU SMP Affinity
http://www.thegeekstuff.com/2014/01/linux-interrupts/
Saludos,
--
Camaleón
Reply to: