Adaptive Memory Pressure Engine
Build 19: echte JVM-, GC-, Queue- und Cache-Evidenz mit Hysterese, Erholung und begrenzter Reaktion.
Build 19 ersetzt die frühere wiederholte Speichermeldung durch eine zentrale, niederfrequente Zustandsmaschine. Dieselbe unveränderliche Momentaufnahme versorgt Zustandswechsel, seltene Zusammenfassungen, JSON-Diagnosen und /monolith memory. Nicht verfügbare JVM-Werte bleiben ausdrücklich UNAVAILABLE, statt geschätzt zu werden.
| Zustand | Bedeutung | Reaktion |
|---|---|---|
| NORMAL | Kein bestätigter Druck | Normale Monolith-Hintergrundarbeit |
| ELEVATED | Mehrere schwache oder ein tragfähiges Signal | Beobachtung und leichte Begrenzung |
| HIGH | Anhaltend deutlicher Druck | Stärkere Begrenzung optionaler Monolith-Arbeit |
| CRITICAL | Bestätigte Nähe zur Erschöpfung | Minimale optionale Monolith-Parallelität und klare Warnung |
| RECOVERING | Druck fällt, aber Rückkehr ist noch nicht bestätigt | Schrittweise Erholung bis NORMAL |
Eine normale Eskalation benötigt standardmäßig drei passende Stichproben. Die Rückkehr verwendet niedrigere Schwellen und sechs gesunde Stichproben. Ein natürliches Post-GC-Signal bleibt für den Kontext verfügbar, seine Steigung beeinflusst Entscheidungen ohne neue Garbage Collection jedoch höchstens 30 Sekunden.
| Signalgruppe | Beispiele | Interpretation |
|---|---|---|
| Heap | Belegung, Trend, verbleibender Spielraum | Aktueller Druck, nicht allein ein Leak-Beweis |
| Natürliches GC | Post-GC-Heap, Old Generation, Reclaim, Pausen | Zurückbleibende Belegung und Collector-Verhalten |
| Allokation | Bytes pro Sekunde | Churn; erst zusammen mit Reclaim und Belegung aussagekräftig |
| Native Bereiche | Direct, Mapped, Non-Heap | Nur wenn die JVM belastbare Werte liefert |
| Queues | Monolith-Hintergrundqueue und Save-Queue | Rückstau ohne vollständiges Durchlaufen der Queue |
| Caches | Nur begrenzte Diagnose- und Runtime-Caches | Größe und Wachstum ohne Welt- oder Entity-Referenzen |
/monolith memory- Zustand, Druckscore, Klassifikation und stabile Grundcodes.
- Heap, Post-GC-Heap, Old Generation, Allokationsrate, GC-Rate, Pausen und Rückgewinnung.
- Direct-, Mapped- und Non-Heap-Speicher mit expliziter Verfügbarkeit.
- Queue- und Cache-Druck, Trendalter, Persistenzzähler und aktuelle sichere Maßnahme.
- Begründung, warum HIGH oder CRITICAL noch nicht gewählt wurde.
monolith:
memory-pressure:
enabled: true
sampling-interval-seconds: 5
warmup-seconds: 120
escalation-samples: 3
recovery-samples: 6
summary-interval-seconds: 900
diagnostic-snapshots: true
elevated-score: 0.42
high-score: 0.68
critical-score: 0.88
hysteresis-score: 0.10Alle Schlüssel sind zusätzlich in der sortierten Konfigurationsreferenz mit Typ, Bereich, Wirkung, Reload-Verhalten und Kompatibilitätsgrenze aufgeführt.
- Kein System.gc(), kein automatischer Heap-Dump und kein Native-Memory-Dump.
- Keine automatische Behauptung, ein Plugin, eine Welt oder ein Datenträger sei defekt.
- Keine dauerhaften Referenzen auf Welten, Chunks, Entities, Pakete, Tasks oder Throwables in Trendfenstern.
- CRITICAL ist ein belastbarer Betriebszustand, aber kein Ersatz für Monitoring, Heap-Analyse und ein geprüftes Rollback.
- Die 1.21.4–1.21.10-Legacy-JARs enthalten diese Build-19-Engine nicht.
