Was ist der "System Interrupt" -Prozess in Windows?

16

Mein System ist ein Notebook-System mit einer AMD A10 5750m CPU, R9 M290X GPU, 8 GB, 1 TB. Ich habe einen Prozess bemerkt, der immer aktiv ist und "System Interrupts" heißt. In diesem Moment verbraucht er durchschnittlich 1,5% der CPU.

Ich habe überall gesucht, aber ich habe nichts über diesen Prozess gefunden. Ich habe Leute gefunden, bei denen der Prozess extrem hohe CPU-Werte verbraucht, was nicht mein Fall ist. Es ist normal? Wird es die ganze Zeit aktiv sein und (sogar) einen minimalen Teil der CPU verbrauchen?

Daniel
quelle

Antworten:

29

"System-Interrupts" sind keine Prozesse im herkömmlichen Sinne, sondern dienen dazu, dem Benutzer zu erklären, dass der Computer 1,5% seiner CPU-Ressourcen für die Verarbeitung von Interrupt-Anforderungen benötigt. Interrupts treten unterhalb der Betriebssystemebene auf, sodass sie keinem bestimmten Prozess zugeordnet sind.

Interrupts (IRQs) sind vorhanden, damit die Hardwarekomponenten Ihres Systems der CPU mitteilen können, ob ein Fehler aufgetreten ist oder ob die von Ihnen angeforderten Daten jetzt verfügbar sind oder ob dieses Gerät Daten senden möchte. Jedes Mal, wenn ein Gerät oder eine Software der CPU etwas über die von ihr ausgeführte Aufgabe mitteilen oder die CPU anweisen muss, etwas zu tun, wird ein Interrupt ausgelöst, den die CPU empfängt und verarbeitet . In diesem Fall stoppt die CPU sofort, was sie tut, so dass sie den Interrupt verarbeitet.

Ein weiteres verwandtes Element, wenn es als Prozess betrachtet wird, sind DPCs (Deferred Procedure Calls) , bei denen es sich um OS-Funktionen handelt, die entweder direkt oder indirekt als Reaktion auf einen ausgelösten Interrupt asynchron aufgerufen werden. Durch Addition der Systeminterrupts und der DPC-Verarbeitung können Sie im Allgemeinen die Menge der verwendeten Ressourcen schätzen, die auf die IRQ-Verarbeitung ansprechen.

Es gibt gute und schlechte Interrupts. Wenn Sie viel Zeit mit der Interrupt-Verarbeitung verbringen, ist die Wahrscheinlichkeit hoch, dass mindestens eine Hardwarekomponente ausfällt. Andererseits verwenden viele Hardware-Geräte IRQs zum Timing und für andere wichtige Zwecke. Beispielsweise verwendet der PCI-Bus IRQs, um zu steuern, welches Gerät den Bus zu einem bestimmten Zeitpunkt verwendet, sodass jedes Gerät den Bus effizient gemeinsam nutzt.

Bei 1,5% klingt für mich alles normal.

Frank Thomas
quelle
1
Danke für deine Antwort. Welcher Prozentsatz des Verbrauchs sollte mich beunruhigen? Wie kann ich bei Problemen feststellen, welche Hardware fehlerhaft ist?
Daniel
hängt wirklich von der Frequenz Ihrer CPU ab. Ich habe Systeme gehabt, die gerade bei 1,5 saßen, und andere bei weniger als 0,10 - 0,20. Ich würde mir wirklich Sorgen machen, wenn Sie mehr als 10% auf einer modernen Maschine verbrauchen würden.
Frank Thomas
Meine CPU läuft mit 2,5 GHz. Es ist komisch, manchmal liegt es bei 1,5% (wie gesagt: Durchschnitt) und zum Beispiel ist es jetzt bei 0,3%, aber ich habe es bei 5% gesehen. Ich werde den Rat von JakeGould befolgen und das werde ich nicht mehr überdenken ... mein PC ist vollkommen in Ordnung :) Und jetzt weiß ich ein bisschen mehr darüber. Vielen Dank!!
Daniel
2
Meistens nicht, es sei denn, es liegt ein Hardwareproblem vor, das Sie diagnostizieren und reparieren. Sie könnten USB-Volumes für Festplatten vermeiden (anstatt die Festplatte an einem SATA-Port zu installieren), da USB Interrupts für die gemeinsame Nutzung des Busses verwendet, aber abgesehen von solchen Dingen benötigen Sie die Interrupts, die Sie erhalten, sofern nichts falsch ist. Sie können nicht vom Benutzer konfiguriert werden, außer den Adressen, die jedes Gerät verwendet. Dies ist alles, was Sie vor 20 Jahren tun konnten.
Frank Thomas
2
@ Devilathor, nicht viel. Die gesamte Architektur von Computern basiert auf Interrupts und eine erzwungene Reduzierung der CPU-Auslastung (wenn möglich) würde Ihr gesamtes System einfach zum Erliegen bringen oder verlangsamen. Die einzige sichere Möglichkeit, die Anzahl der Interrupts zu verringern, besteht darin, die Anzahl der Hardwareteile zu verringern, die Interrupts an die CPU senden . Dazu können Sie alle nicht benötigten Hardwarekomponenten entfernen / entfernen / ausschalten und prüfen, ob dies einen Unterschied macht. Wenn einige Hardwarekomponenten nicht entfernbar sind, suchen Sie nach Einstellungen, die weniger „Aktualisierungen“ auslösen (Standby-Modus, wenn möglich).
Hoki
4

"System-Interrupts" - auch als "Interrupts" und "IRQs" bezeichnet - sind Prozesse auf Betriebssystemebene, mit denen die Kommunikation der Hardware mit Ihrem System verwaltet wird. Wie hier auf Wikipedia erklärt :

Bei der Systemprogrammierung ist ein Interrupt ein Signal an den Prozessor, das von der Hardware oder Software ausgegeben wird und auf ein Ereignis hinweist, das sofortige Aufmerksamkeit erfordert. Ein Interrupt weist den Prozessor auf einen Zustand mit hoher Priorität hin, der die Unterbrechung des aktuellen Codes erfordert, den der Prozessor ausführt. Der Prozessor reagiert, indem er seine aktuellen Aktivitäten unterbricht, seinen Status speichert und eine Funktion ausführt, die als Interrupt-Handler (oder Interrupt-Service-Routine, ISR) bezeichnet wird, um das Ereignis zu behandeln. Diese Unterbrechung ist vorübergehend, und nachdem der Interrupt-Handler beendet ist, nimmt der Prozessor die normalen Aktivitäten wieder auf.

Es ist daher ein notwendiger Bestandteil Ihres Kernsystem-Setups. Und wenn die CPU-Auslastung schnell zunimmt, liegt einfach ein Problem mit der Kommunikation Ihres Systems mit der Hardware vor.

JakeGould
quelle
Vielen Dank. Wie kann ich überwachen, welche Ereignisse diese Unterbrechungen verursachen? Wenn etwas nicht stimmt, sollte es einen Weg geben, um zu erfahren, was los ist, nicht wahr?
Daniel
1
Nicht 100% sicher auf Windows-Computern. Aber ich habe noch nie von Windows-Administratoren gehört, bei denen ich so sorgfältig gearbeitet habe. Sie könnten dies überdenken. Weitere Details von Microsoft. technet.microsoft.com/en-us/library/cc940374.aspx
JakeGould
2
Sie können Interrupt-Informationen in einem Betriebssystem im Allgemeinen nicht anzeigen, da sie unterhalb der Betriebssystemebene auftreten. Es ist wirklich kein großes Problem, es sei denn, Ihre CPU ist für die IRQ- oder DPC-Verarbeitung wirklich hoch.
Frank Thomas
1
@ Devilathor Nun, ein Grund, warum ich mir bei Unterbrechungen nicht mehr so ​​sicher bin, ist, dass ich mich zuletzt - im Ernst - 1992 mit ihnen befasst habe, als ich zum ersten Mal IT-Arbeiten an 486 Maschinen durchgeführt habe. Und das Setzen von IRQs bedeutete manchmal eine Kombination aus BIOS- und physischen Jumpereinstellungen. Ich glaube, mein Gehirn kann das heutzutage nicht verstehen, wenn all das auf den meisten Systemen wirklich hinter den Kulissen steckt.
JakeGould
1
IRQs sind für Vorgänge gedacht, die für einen Benutzer nicht relevant sind. Es ist mir egal, wann meine CPU eine Kontextumschaltung durchführt, um einen anderen Thread auszuführen, während eine DMA-Operation für den angehaltenen Thread auf einen asynchronen Rückruf-IRQ wartet, um anzuzeigen, dass die Daten zur Verwendung bereit sind. So etwas passiert buchstäblich eine Million Mal pro Sekunde.
Frank Thomas