Bound the Go morman with GOMEMLIMIT and declare a real memory request

FixKlusterServices
Expediere
27 august 2026 la 05:09 UTC
Autor
Kamo
Comite
795a0d4

Cauza principală a prăbuşirii nu a fost o scurgere. Starea de echilibru 485Mi care Declanşând vechea limită 512Mi erau două lucruri normale: ~350mi Go grămada la partea de sus a unui stoc GOGC=100 ferăstrău. Măsurat peste o oră: vârfuri la 283Mi, mâinile înapoi 40-80Mi per ciclu GC, podea în jur de 178Mi. Conexiunea nu-l urmări (108 conuri la 186Mi, 58 de conuri la 283Mi), deci nu este reţinerea conexiunii. ~133Mi pagina cache de la 205 MiB binar de text cerere-paging în, care ia aproximativ o zi pentru a ajunge la acest nivel. Cei doi nu se potrivesc în 512Mi. Limita a fost doar supravieţuitoare în timp ce binar a fost încă rece, motiv pentru care a ținut timp de luni și apoi a început a eşuat la fiecare ~25 minute. GOMEMLIMIT=750 MiB leagă Go runtime-ul singur, lăsând cache-ul binarului camera sub limita 1Gi (1024 - 205 - 70 moale). E o limită uşoară. o creştere live-heap viitoare face Traefik colecta mai greu în loc de a fi SIGKILLED goluri TLS platforma-wide pentru ~11s. De asemenea, cererea 256Mi a subdeclarat prost o capsulă a cărei stare de echilibru este ~270Mi, lăsând singura capsulă de intrare un candidat prim de evacuare sub Presiunea memoriei nodului. Crescut la 512Mi.

Toate modificările

Ca ceea ce vezi de transport maritim?

Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.

Pornește gratuit pentru totdeaunaVezi prețurile