Me gustaría prohibir las interrupciones de ciertas CPU. Escuché sobre la opción IRQBALANCE_BANNED_CPUS. Veo que irqbalance se está ejecutando en el fondo de mi máquina. ¿Dónde voy a editar y cómo configuro esa opción? Por ejemplo, quiero excluir cpus 2,3,4,5 de las interrupciones. El descriptor de argumento es:
Proporciona una máscara de cpus que irqbalance debe ignorar y nunca asignar interrupciones a
¿Qué significa una máscara? ¿Y dónde configuro irqbalance con esa opción?
EDIT1: ¿Cómo saber que mi configuración está vigente, en otras palabras, que mi CPU no recibe interrupciones? Estoy comprobando / proc / interrupciones pero algunos números están aumentando allí.
EDIT2: ahora inicié mi máquina con IRQBALANCE_BANNED_CPUS = 3e, por lo que solo la CPU 0 NO tiene prohibidas las interrupciones. Así que debería esperar ver a cpo0 recibiendo muchas interrupciones y el otro cpus no recibiendo interrupciones, ¿verdad? Aquí está mi / proc / interrupciones. Las líneas en negrita están cambiando para TODOS los cpus. Las líneas 22, 24, 35 y LOC están cambiando.
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5
0: 26 0 0 0 0 0 IO-APIC-edge timer
1: 2 0 0 0 0 0 IO-APIC-edge i8042
6: 3 0 0 0 0 0 IO-APIC-edge floppy
8: 1 0 0 0 0 0 IO-APIC-edge rtc0
9: 0 0 0 0 0 0 IO-APIC-fasteoi acpi
12: 4 0 0 0 0 0 IO-APIC-edge i8042
14: 13556 0 0 0 0 0 IO-APIC-edge ata_piix
15: 0 0 0 0 0 0 IO-APIC-edge ata_piix
18: 0 0 0 0 0 0 IO-APIC-fasteoi ata_piix
19: 2 0 0 0 0 0 IO-APIC-fasteoi ohci1394
20: 3 0 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb6
21: 197 635 39 0 0 0 IO-APIC-fasteoi uhci_hcd:usb4, uhci_hcd:usb7, HDA Intel
22: 344 3506 0 702 0 0 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb5, uhci_hcd:usb8
24: 162 48 0 0 0 0 IO-APIC-fasteoi nvidia
35: 174 0 47 0 0 0 IO-APIC-fasteoi nvidia
53: 3517 0 0 0 0 0 PCI-MSI-edge eth0
NMI: 0 0 0 0 0 0 Non-maskable interrupts
LOC: 11007 8840 6480 5652 4272 3046 Local timer interrupts
SPU: 0 0 0 0 0 0 Spurious interrupts
PMI: 0 0 0 0 0 0 Performance monitoring interrupts
PND: 0 0 0 0 0 0 Performance pending work
RES: 292 169 217 125 122 126 Rescheduling interrupts
CAL: 86 280 254 292 293 291 Function call interrupts
TLB: 1147 1031 1348 616 177 322 TLB shootdowns
TRM: 0 0 0 0 0 0 Thermal event interrupts
THR: 0 0 0 0 0 0 Threshold APIC interrupts
MCE: 0 0 0 0 0 0 Machine check exceptions
MCP: 2 2 2 2 2 2 Machine check polls
ERR: 5
MIS: 0
EDITAR3: Parece que la opción IRQBALANCE_BANNED_CPUS está completamente IGNORADA en Ubuntu . Intenté reiniciar mi máquina con 1, 3e y obtuve interrupciones por todas partes. Justo cuando desactivo irqbalance configurando ENABLED = 0, obtengo un clean / proc / interrupts solo en cpu0 y ninguna otra cpu.
fuente
un error de irqbalance impide que IRQBALANCE_BANNED_CPUS trabaje en máquinas NUMA: http://code.google.com/p/irqbalance/issues/detail?id=43
A partir de ahora, 1.0.5 es la última versión de irqbalance y no tiene la solución.
fuente
Tienes que usar 3c según lo anterior para que funcione. Las versiones posteriores hacen esto automáticamente (al menos en v 1.9 en debian / sid)
fuente
Agregando a las sugerencias anteriores sobre la resolución de problemas de irqbalance: un comando útil para ver las afinidades de interrupción resultantes de la ejecución de irqbalance:
fuente