写了一个 nodejs 小程序,部署在 linux 上,跑五六个小时后,内存占用就达到 90%,要怎么排查呢
网上搜索的一圈,说用 heapdump,但这个在 linux 上部署不了,大家有办法吗
网上搜索的一圈,说用 heapdump,但这个在 linux 上部署不了,大家有办法吗
|
ginozhuJul 30, 2018
1
heapdump 为啥 linux 上部署不了?
heapdump 不行的话,用 inspect,然后远端用 chrome devtool 也可以 dump 出 heap |
|
xiaoxin8888Jul 30, 2018
2
检查下代码, 是不是有数组一直往里加没有清的情况.
|
|
lzvezrJul 30, 2018 via Android
3
其实可以用 alinode
|
|
jerry4718Aug 7, 2018
4
是不是有事务没提交的
|
|
5
上一次 headdump 没装上是因为 g++没安装
把内存快照导入 chrome 控制台后发现存在大量未销毁 socket 对象 排查代码,是因为 close socket 的代码写错了,而且没打印异常日志。 现在正常了,程序跑一个礼拜,内存都没有增长。 谢谢大家了 |