/proc/interrupts

Sommaire

    Le fichier "/proc/interrupts" liste les numéros d'interruptions et les périphériques qui y sont associés. Voici un exemple de fichier /proc/interrupts:

               CPU0       CPU1       
      0:     839429          0   IO-APIC-edge      timer
      1:       3744          0   IO-APIC-edge      i8042
      6:          5          0   IO-APIC-edge      floppy
      7:          0          0   IO-APIC-edge      parport0
      8:          0          0   IO-APIC-edge      rtc
      9:          0          0   IO-APIC-fasteoi   acpi
     10:          0          0   IO-APIC-edge      MPU401 UART
     14:       1914          0   IO-APIC-edge      ide0
     16:          3          0   IO-APIC-fasteoi   ohci1394
     17:      22236          0   IO-APIC-fasteoi   eth1, eth2
     18:     235134          0   IO-APIC-fasteoi   nvidia
     20:          0          0   IO-APIC-fasteoi   libata
     21:     335670          0   IO-APIC-fasteoi   eth0
     22:        474          0   IO-APIC-fasteoi   ehci_hcd:usb2, NVidia CK804
     23:     163181          0   IO-APIC-fasteoi   ohci_hcd:usb1, libata
    NMI:          0          0 
    LOC:     839342     839678 
    ERR:          0
    

    La première colonne du fichier montre un numéro d'interruption, c'est le numéro d'une ligne d'interruption sur la carte mère. La dernière colonne montre le nom de tous les périphériques associés à cette ligne d'interruption, les noms des périphériques sont séparés par des virgules.

    Les colonnes intermédiaires sont moins importantes. On peut voir ici que les colonnes 2 et 3 ont comme titre "CPU0" et "CPU1", les nombres sous ces colonnes donnent le nombre d'interruptions gérées par chacun des processeurs. Sur un système multiprocesseur, les interruptions seront habituellement réparties uniformément entre les processeurs. L'avant-dernière colonne donne le contrôleur d'interruptions qui a transmis l'interruption.

    Les périphériques modernes peuvent partager des lignes d'interruptions. On peut voir dans l'exemple précédent que la ligne 22 est utilisée par plusieurs périphériques:

     22:        474          0   IO-APIC-fasteoi   ehci_hcd:usb2, NVidia CK804

    Les anciens périphériques (par exemple les cartes d'extensions ISA) ne sont identifiés que par le numéro d'interruption et ne peuvent donc pas partager une ligne d'interruption. Il est important de vérifier que chaque périphérique possède un numéro d'interruption unique avec ce type de périphérique, dans le cas contraire il faut y remédier en changeant le numéro d'interruption, généralement à l'aide de jumpers sur la carte.

    Les numéros d'interruptions associés aux périphériques sont généralement aussi affichés par le BIOS, ce qui peut permettre de faciliter l'identification de problèmes pour de vieux périphériques.