Untersuchung eines Go 1.24 Speicherlecks: Eine unerwartete Entdeckung und die Überraschung der Schweizer Tabellen

2025-07-20
Untersuchung eines Go 1.24 Speicherlecks: Eine unerwartete Entdeckung und die Überraschung der Schweizer Tabellen

Nach der Veröffentlichung von Go 1.24 wurde in einem Datenverarbeitungsdienst ein unerwarteter Anstieg des Speicherverbrauchs festgestellt. Die Untersuchung ergab, dass eine Refactoring einer Speicherzuweisungsfunktion in der Go-Laufzeitumgebung versehentlich eine Optimierung entfernt hatte, was zu einer unnötigen Nullstellung des Speichers bei der Zuweisung großer Objekte führte und so die Größe des residenten Satzes (RSS) erhöhte. Obwohl die internen Metriken der Go-Laufzeitumgebung unverändert blieben, zeigten die Metriken auf Systemebene einen deutlichen Anstieg des Speicherverbrauchs. Die Zusammenarbeit mit der Go-Community trug dazu bei, das Problem zu identifizieren und zu beheben. Überraschenderweise reduzierte die neue "Schweizer Tabellen"-Funktion von Go 1.24 den Speicherverbrauch in Umgebungen mit hohem Datenverkehr deutlich, wodurch die vorherige Regression ausgeglichen und sogar zusätzliche Speichereinsparungen erzielt wurden.

Mehr lesen
Entwicklung