web-dev-qa-db-fra.com

Quelle est la cause des interruptions hautes locales?

Je vois d'énormes pointes dans des interruptions de location - environ 4 millions par seconde, quelle est exactement l'interruption locale, que provoqueraient ces pointes et que puis-je faire à ce sujet?

Voici un graphique Munin illustrant ces pointes:

Interrupt graph

Voici le graphique de la CPU pour la même période montrant comment cela prend complètement le dessus. J'aime la façon dont la coloration indique que le serveur est en feu pendant ces périodes ...

CPU graph

Il s'agit d'un serveur Xeon double Core exécutant Ubuntu 8.04. La version du noyau rapportée par uname est 2.6.24-24-Server.

Voici le contenu de/proc/interruptions

[.____ -Apic-Edge i8042 
 8: 3 2 4 3 7 5 6 3 IO-APIC-EDGE RTC 
 9: 0 0 0 0 0 0 0 0 0 IO-APIC-FASTEOI ACPI 
 12: 1 0 0 1 0 0 1 1 IO-Apic-Edge i8042 [.____] 14: 22 20 22 24 27 24 25 15 IO-Apic-Edge Libata [.____] 15: 0 0 0 0 0 0 0 0 IO-Apic-Edge Libata 
 16: 5076 6012 50843554 50824664 50759980 50720894 50854422 50808772 50787944 IO-APIC-fasteoi ioc0 17 
: 2.584.434 2.572.429 2.564.703 2.551.207 2.546.844 2.593.218 2.574.248 2.563.553 IO-APIC-fasteoi uhci_hcd: usb1, uhci_hcd: USB3, ehci_hcd: USB5 
 18: 24 21 26 22 32 32 32 32 22 22 32 27 IO-APIC-FASTEOI UHCI_HCD: USB2, UHCI_HCD: USB4 [.____] 214: 978184354 978071466 978101515 978237161 978053391 978147157 978147157 PCI-MSI-EDGE ETH0 [.____] NMI: 0 0 0 0 0 0 0 0 interruptions non masquables 
 LOC: [. .____] 260770889 191904989 121472332 107472778 233105051 118895615 157741363 115713984 interruptions de temporisateur local RES: 432052982 199027537 1003071645 767265318 114757970 128486722 221935258 141439861 interruptions Replanification 
 Cal: 32376 26205 32414 26355 32453 26425 32399 26335 Appel de fonction Interruptions [.____] TLB: 5325301 5240763 5025455 4999356 4944090 5044423 5050813 5044423 5050813 5004620 TLB Totrages [.____] TRM: 0 0 0 0 0 0 0 0 0 Interruption de l'événement thermique [.____] SPU: 0 0 0 0 0 0 0 0 0 0 interruptions parasites 
 ERR: 0 
 MIS: 0 

Les références

Images originales

17
Paul Dixon

C'est le processus de gestion de la filetage multi-processeur. Voir Affinité SMP et manipulation d'interruptions appropriée sous Linux Pour les réponses que vous recherchez sur la manière de la réduire, mais essentiellement de la manière dont le système gère les interruptions, les interruptions sont causées par la CPU qui doit être nourrie Plus de flux de threads ou de mémoire et seul CPU0 étant capable de prendre les interruptions.

Plus la valeur est élevée, meilleure est le filetage du système, et c'est une bonne chose.

13
Stephen Thompson