Begrenzter Objektstromcache

Geladene Cross-Reference-Streams können komprimierte Mitglieder indizieren, ohne jeden dekodierten /Type /ObjStm-Container im Speicher zu behalten

Byte-Grenze und Verdrängung

ObjectStreamCacheMaxBytes legt das Budget für dekodierte Container fest und hat standardmäßig 64 MiB

Wenn ein Einfügen das Budget überschreitet, werden inaktive Container einzeln in Reihenfolge der geringsten jüngsten Verwendung verdrängt; der Container, der gerade eine Parseransicht bedient, bleibt bis zum Schließen dieser Ansicht geschützt

Ein einzelner Container, der größer als die Grenze ist, kann daher während seiner aktiven Analyse im Speicher bleiben, doch danach fallen die vorgehaltenen Bytes sofort auf die konfigurierte Grenze zurück

Erneut ladbare Mitglieder

Die Verdrängung bewahrt Objektzahlindizes und validierte Mitgliederversätze

Eine spätere Auflösung eines Mitglieds öffnet den ursprünglichen Containerstream erneut, wendet Dokumententschlüsselung und Streamfilter wieder an und analysiert das angeforderte Mitglied über die bestehende Zero-Copy-Slice-Ansicht

Setzen Sie die Grenze auf null, um zwischen den Auflösungen von Mitgliedern keine dekodierten Container vorzuhalten

Telemetrie

GetLoadedObjectStreamCacheInfo meldet die konfigurierte Grenze, aktuelle und maximale dekodierte Bytes, die Anzahl der Verdrängungen und Neuladungen, Treffer und Fehlschläge des Mitgliedercaches sowie Zero-Copy-Slice-Aktivität

Siehe auch: ObjectStreamCacheMaxBytes, GetLoadedObjectStreamCacheInfo, Zero-Copy-Objektstrom-Slices