Fehlerbehebung beim Paging-Bereich

Das am häufigsten auftretende Problem in Bezug auf den Paging-Bereich wird durch einen Mangel an zugeordnetem Speicherplatz verursacht.

Das Gesamtvolumen für den Paging-Bereich wird häufig empirisch ermittelt. Häufig wird die Größe des Arbeitsspeichers verdoppelt und diese Zahl dann als Zielgröße für den Paging-Bereich verwendet. Wenn der Paging-Bereich knapp wird, können Prozesse verloren gehen. Wenn kein Paging-Bereich mehr verfügbar ist, stellt der Kernel jeglichen Betrieb ein (Paniksituation). Die folgenden Informationen zu Signalen und Fehlern können Ihnen helfen, Probleme mit dem Paging-Bereich zu überwachen, zu beheben und sogar zu verhindern.

Das Betriebssystem überwacht die Anzahl freier Blöcke im Paging-Bereich und erkennt, wenn der Paging-Bereich knapp wird. Wenn die Anzahl der freien Blöcke im Paging-Bereich unter einen Schwellenwert fällt, der als Warnstufe für den Paging-Bereich bezeichnet wird, informiert das System alle Prozesse (mit Ausnahme von kprocs) über diese Situation, indem es das Signal SIGDANGER sendet. Setzt sich diese Situation fort und fällt der freie Paging-Bereich unter einen zweiten Schwellenwert, die so genannte Beendigungsstufe für den Paging-Bereich, sendet das System das Signal SIGKILL an die Prozesse, die die Hauptnutzer des Paging-Bereichs sind und keine Signalroutine für das Signal SIGDANGER besitzen. (Standardmäßig wird das Signal SIGDANGER ignoriert.) Das System sendet daraufhin das Signal SIGKILL so oft, bis die Anzahl der freien Blöcke im Paging-Bereich die Beendigungsstufe für den Paging-Bereich wieder überschreitet.
Anmerkung: Wenn der Parameter low_ps_handling (unter dem Befehl vmo ) auf 2 gesetzt ist und kein Prozess zum Beenden gefunden wurde (ohne den Handler SIGDANGER ), sendet das System das Signal SIGKILL an die jüngsten Prozesse, die über einen Signalhandler für das Signal SIGDANGER verfügen.

Prozesse, die Hauptspeicher dynamisch zuordnen, können sicherstellen, dass ausreichend Paging-Bereich vorhanden ist, indem sie die Stufen für den Paging-Bereich mit der Subroutine psdanger oder mit speziellen Zuordnungsroutinen überwachen. Mit der Subroutine disclaim können Sie verhindern, dass Prozesse beendet werden, wenn die Beendigungsstufe für den Paging-Bereich erreicht ist. Hierfür definieren Sie eine Signalroutine für das Signal SIGDANGER und geben Hauptspeicher und Ressourcen für den Paging-Bereich frei, die Daten- und Stack-Bereichen sowie gemeinsam genutzten Speichersegmenten zugeordnet sind.

Wenn Fehlernachrichten wie die folgenden ausgegeben werden, vergrößern Sie den Paging-Bereich:
INIT: Paging space is low! 
ODER
You are close to running out of paging space.
You may want to save your documents because
this program (and possibly the operating system)
could terminate without future warning when the
paging space fills up.