string类型转换也会有内存溢出问题?

liapples · · 1524 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

![111.png](https://static.golangjob.cn/230615/8910525c3b6c6bc7e71f7711fa712448.png) body := string(b) 就这一行代码,通过pprof查看内存占用过多。其中b类型是[]byte,而body类型是string。 刚开始以为是getBody导致的,因为使用http.Client处理不当导致内存溢出问题,但修改了多次,pprof指示的都是body := string(b)这一行内存占用过多。 而getBody中返回值已经限制b的返回长度不超过200*1024,但运行几天后,依然会内存溢出而被系统杀掉的情况。难道是官方的string类型转换有bug? /var/log/messages系统日志如下: ```text Jun 14 18:03:04 VM-8-5-centos kernel: Out of memory: Kill process 9568 (data-center) score 322 or sacrifice child Jun 14 18:03:04 VM-8-5-centos kernel: Killed process 9568 (data-center), UID 0, total-vm:1984540kB, anon-rss:1256132kB, file-rss:0kB, shmem-rss:0kB ``` 另外这个GetTitle是在多协程里面运行的,但是这个是局部变量,为什么会有此类问题呢?请高人指点,如何解决

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1524 次点击  
加入收藏 微博
6 回复  |  直到 2023-06-16 08:30:45
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传