

|
nomagickNov 4, 2022
1
正常的,v8 不愿意把内存释放给操作系统,倾向于自己管理,这有个上限,默认是不到 2G 来着
|
|
jchnxuNov 4, 2022
2
snapshot 一下,看哪些对象没有被释放?
|
|
3
@nomagick 有没有办法让他释放呢,一个服务器部署许多个程序,不释放掉太卡了。
尝试使用了 jemalloc 好像没什么用,不知道是不是姿势不对 我看 node 下边有 issue 通过 jemalloc 解决了此问题 |
|
4
@jchnxu 堆内存 189.38M ,应该不是程序内变量没有释放
|
|
nomagickNov 4, 2022
5
设置一下--max-old-space-size ,再不行就是 c++世界什么地方泄漏了,检查一下有没有用原生库之类的
|
|
6
@nomagick 谢谢 确实用到了 一些 c 和 c++的库 通过 child_process 调用的 我仔细排查一下
|
|
7
干啥的啊 是不是有定时任务? 网络请求? graphql 这样的东西 fetch ?
|
|
gen900Nov 5, 2022 via iPhone
8
去掉怀疑的模块,一个个试。看内存有没有降下来
|
|
9
@gen900 目前我在这样做呢
|
|
10
@qfdk 应该不是吧
|
|
11
经过排查最终发现是 node-canvas 的问题 可能是 c++内存泄露 https://github.com/Automattic/node-canvas/issues/1974 目前未得到解决
|