Zum Hauptinhalt springen

Wenn Systemprotokollmeldungen (alle: Hardware, Sicherheit, syserr usw.) in OpenVOS erzeugt werden, werden sie an die syserr-Partition gesendet, und ein Ereignis wird gemeldet. Ein Prozess namens TheOverseer wartet auf dieses Ereignis, zusammen mit einer Menge anderer Ereignisse.

Um dieses Ereignis zu verarbeiten, liest TheOverseer dann Nachrichten aus der Partition und speichert sie in seinem Benutzer-Heap. Anschließend schreibt er die Nachrichten auf das Konsolenterminal des Moduls, schreibt sie in das angegebene Protokoll und löscht sie dann aus dem Benutzer-Heap. Wenn einer der beiden Schreibvorgänge fehlschlägt, verbleibt die Nachricht im Benutzer-Heap für einen späteren Wiederholungsversuch.

Die Größe der Partition ist begrenzt. Der Benutzerheap enthält nur eine bestimmte Anzahl von Protokollmeldungen. Wenn einer dieser Bereiche überläuft, die angegebene Protokolldatei durch einen anderen Prozess zum Schreiben gesperrt ist oder das Konsolenterminal unterbrochen ist, wird ein Flag gesetzt. Dies führt dazu, dass bestehende Nachrichten überschrieben werden und TheOverseer gibt **Log Messages Lost** in das syserr_log und auf die Konsole aus.

TheOverseer hat eine Vielzahl von Aufgaben zu erledigen. Dazu gehören das Anlegen und Zerstören von Prozessen, der Kommunikationsverkehr vom Typ send_message und andere, die eine beträchtliche Menge an Zeit und Verarbeitung in Anspruch nehmen können. Wenn dieser Prozess ausgelastet ist, wird er den syserr-Ereignismechanismus nicht oft bedienen, was zu einem syserr-Wraparound führen kann.

Jedes Modulereignis, das dazu führt, dass eine Flut von Nachrichten in die syserr-Partition geschrieben wird (z. B. das Beenden vieler Prozesse auf einmal, Benutzeranwendungen, die in die syserr-Partition schreiben usw.), kann dazu führen, dass die Partition voll wird. Aus diesem Grund empfehlen wir nicht, dass Benutzeranwendungen den syserr_log-Mechanismus verwenden, um standortspezifische Protokollierungsinformationen zu speichern. Benutzeranwendungen sollten ihre eigenen Mechanismen verwenden, um anwendungsspezifische Protokollierungsinformationen zu speichern.

© 2024 Stratus Technologies.