[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: