json序列化内存高问题

coderyw · · 2070 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

最近一个ws服务,出现内存高问题。通过pprof查看了一下是json在序列化时候内存很高。后来我换成了easyjson,也没有解决这个问题,我想是不是我分配对象过多,然后我使用了对象池,问题依旧没有得到解决。这个服务数据量是很大,推送出去的数据大小也不固定,小到几b,大到十几kb,一两Mb的都有。看了一下easyjson源码,底层也是维护了一个缓冲池,会根据分配的不用size给出对应的缓冲池。但是我就没想通为什么内存会这么高。下面是一些高内存图片: ![image.png](https://static.golangjob.cn/221110/84c840b63cc519833a010cba9f987d06.png) 这是heap图片 ![image.png](https://static.golangjob.cn/221110/09489239579c9342a27d0f02333b5e84.png) 这个是监控的内存数据,每个一段时间就几百MB的涨。 问题是,其他类型的ws服务没有这问题,就这个数据量大点的服务有问题。 有人遇到同样的情况吗?

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

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

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