求教一个内存溢出的问题 pprof 显示在 os.readfile 上有大量内存占用无法释放 请问我下面的写法具体哪里有问题 已经尝试很多办法,都没效果 恳请赐教
var GMap=map[string]string
func DomainMapLoadFromFile() {
GMap=make(map[string]string,10)
//尝试解决内存溢出
fileStr := ReadAll("DataMap", "CacheMap")
contentStrArr := strings.Split(*fileStr, "\n")
contentLen := len(contentStrArr)
contentArr := make([]string, contentLen)
copy(contentArr, contentStrArr)
var wg sync.WaitGroup
wg.Add(contentLen)
for i := range contentArr {
go func(content string) {
infoArr := strings.Split(content, "|")
var deviceId int64
l := len(infoArr)
if l == 2 {
data1 = infoArr[0]
data2 = infoArr[1]
} else {
fmt.Println("不符合长度 5-6 的数据,content:" + content)
wg.Done()
return
}
GMap[data1]=data2
wg.Done()
}(contentArr[i])
}
wg.Wait()
}
func ReadAll(fileName, dirName string) *string {
content, _ := os.ReadFile(GetFilePathPWD(fileName, dirName))
contentStr := string(content)
return &contentStr
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.