Um festzustellen ob zeitweise sehr viele IRQs ausgelöst wurden möchte ich die Frequnzen der Interrupts aufzeichnen und die Werte jede Minute speichern, also sowas wie date/time IRQ 0 IRQ 1 IRQ 2 IRQ 3 ... 2016-09-29 20:00 0.00 0.00 1.00 2.34 ... 2016-09-29 20:01 0.02 0.16 2.00 3.45 ... ... Welche Programme/Skripte können das?
Erwin M. schrieb: > Welche Programme/Skripte können das? Das ist trivial selber zu schreiben, indem man regelmäßig auf /proc/interrupts schaut. Ganz ohne Eigeninitiative geht es allerdings nicht.
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/s-cpu-irq.html
1 | $ cat /proc/interrupts |
2 | |
3 | CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 |
4 | 0: 50 0 0 0 0 0 0 0 IR-IO-APIC 2-edge timer |
5 | 1: 0 0 1 0 0 0 0 1 IR-IO-APIC 1-edge i8042 |
6 | 8: 0 0 1 0 0 0 0 0 IR-IO-APIC 8-edge rtc0 |
7 | 9: 0 0 0 0 0 0 0 0 IR-IO-APIC 9-fasteoi acpi |
8 | 12: 1 0 0 1 1 1 0 0 IR-IO-APIC 12-edge i8042 |
9 | 14: 3533 3413 3454 3403 3477 3468 3621 4462 IR-IO-APIC 14-edge pata_atiixp |
10 | 15: 0 0 0 0 0 0 0 0 IR-IO-APIC 15-edge pata_atiixp |
11 | 16: 205 200 203 209 206 201 204 209 IR-IO-APIC 16-fasteoi snd_hda_intel:card0 |
12 | 17: 5 5 5 4 4 3 2 5 IR-IO-APIC 17-fasteoi ehci_hcd:usb1, ehci_hcd:usb4, ehci_hcd:usb7 |
13 | 18: 0 0 1 1 0 0 1 1 IR-IO-APIC 18-fasteoi ohci_hcd:usb8, ohci_hcd:usb9, ohci_hcd:usb10, ohci_hcd:usb11 |
14 | 19: 7757 7795 7726 7669 7729 7864 7980 9708 IR-IO-APIC 19-fasteoi ahci[0000:00:11.0] |
15 | 20: 0 0 0 0 0 0 0 0 IR-IO-APIC 20-fasteoi ath9k |
16 | 22: 1 1 0 0 0 0 0 0 IR-IO-APIC 22-fasteoi firewire_ohci |
17 | 26: 0 0 0 0 0 0 0 0 PCI-MSI 4096-edge AMD-Vi |
18 | 30: 4278 4312 4336 4351 4362 4295 4411 5660 IR-PCI-MSI 1048576-edge xhci_hcd |
19 | 31: 3 1 1 4 6 6 6 2 IR-PCI-MSI 3145728-edge xhci_hcd |
20 | 33: 0 0 0 0 0 0 0 0 IR-PCI-MSI 1572864-edge ahci[0000:03:00.0] |
21 | 34: 104 103 100 115 112 118 110 143 IR-PCI-MSI 3670016-edge ahci[0000:07:00.0] |
22 | 36: 334033 332378 334019 332242 334437 333543 340234 436820 IR-PCI-MSI 2621440-edge enp5s0 |
23 | 37: 73 66 68 63 81 72 73 84 IR-IO-APIC 1-fasteoi snd_hda_intel:card1 |
24 | 38: 302268 301131 303224 301866 303124 302781 318409 666108 IR-PCI-MSI 524288-edge nvidia |
25 | NMI: 187 98 186 98 191 100 186 98 Non-maskable interrupts |
26 | LOC: 2726546 919032 2733061 884437 4215029 2249442 2759329 870743 Local timer interrupts |
27 | SPU: 0 0 0 0 0 0 0 0 Spurious interrupts |
28 | PMI: 187 98 186 98 191 100 186 98 Performance monitoring interrupts |
29 | IWI: 1651739 979486 1648261 953716 2296421 1851458 1652545 955470 IRQ work interrupts |
30 | RTR: 0 0 0 0 0 0 0 0 APIC ICR read retries |
31 | RES: 12821736 7311564 12725204 7320132 12427056 6507074 12743165 7294357 Rescheduling interrupts |
32 | CAL: 1915 1927 1923 2111 1725 2058 2065 2029 Function call interrupts |
33 | TLB: 1357254 1108709 1373894 1101635 1232766 908719 1344601 1117379 TLB shootdowns |
34 | TRM: 0 0 0 0 0 0 0 0 Thermal event interrupts |
35 | THR: 0 0 0 0 0 0 0 0 Threshold APIC interrupts |
36 | DFR: 0 0 0 0 0 0 0 0 Deferred Error APIC interrupts |
37 | MCE: 0 0 0 0 0 0 0 0 Machine check exceptions |
38 | MCP: 104 104 104 104 104 104 104 104 Machine check polls |
39 | ERR: 1 |
40 | MIS: 0 |
41 | PIN: 0 0 0 0 0 0 0 0 Posted-interrupt notification event |
42 | PIW: 0 0 0 0 0 0 0 0 Posted-interrupt wakeup event |
Inzwischen habe ich im Linux-Magazin etwas passendes gefunden: Webminstats. Die davon erzeugten Grafiken sehen ganz brauchbar aus, wie man an dem Bild sieht. Die SMIs werden nicht angezeitgt, aber das geht ja bisher nur mit einem speziell dazu gemachten Kernel-Modul. Daneben werden auch dutzende andere Werte brauchbar aufgezeichnet; nur ein paar sind immer null oder NaN.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.