Hi All,
we use cgo on Linux, because of mips bytecode that is not supported by main go compiler.
golang version is 1.16.5, latest release didn't tried. Writing here to make sure what we see is a bug.
The application is running for a few days, alive allocations are less than 100MB:
# Alloc = 36761056
# TotalAlloc = 122637932112
however this number keep growing until it got killed by OOM:
# Sys = 852037904
the number of OS threads is not high, all counts look very modest:
Count Profile
1810 allocs
0 block
0 cmdline
18 goroutine
1810 heap
0 mutex
0 profile
8 threadcreate
0 trace
what can I do to prevent it from consuming that much stack and crashing?
complete memstats below:
# runtime.MemStats
# Alloc = 36761056
# TotalAlloc = 122637932112
# Sys = 852037904
# Lookups = 0
# Mallocs = 359316187
# Frees = 359262165
# HeapAlloc = 36761056
# HeapSys = 201326592
# HeapIdle = 161890304
# HeapInuse = 39436288
# HeapReleased = 137854976
# HeapObjects = 54022
# Stack = 0 / 637796352
# MSpan = 294984 / 376832
# MCache = 5016 / 16384
# BuckHashSys = 3459520
# GCSys = 8067352
# OtherSys = 994872
# NextGC = 71737968
# LastGC = 1633401481045016063
Thanks!