近日发现服务器内存RES不断上涨,最终定位到jieba这里存在内存泄漏问题,测试代码如下:
GO VERSION:1.16.7
func main() {
loop:
var list []*gojieba.Jieba
for i := 0; i < count; i++ {
// todo: paths not define
t := gojieba.NewJieba(paths...)
list = append(list, t)
}
time.Sleep(5 * time.Second)
for i := range list {
list[i].Free()
}
goto loop
}
通过上述代码最终会因内存太大造成OOM进程被杀掉
近日发现服务器内存RES不断上涨,最终定位到jieba这里存在内存泄漏问题,测试代码如下:
GO VERSION:1.16.7
通过上述代码最终会因内存太大造成OOM进程被杀掉