Memory Node.js内存泄漏

Memory Node.js内存泄漏,memory,node.js,buffer,Memory,Node.js,Buffer,我的程序是一个CLI网络客户端(我的第一个网络项目),到目前为止,我已经能够解决我遇到的所有问题。它100%正确地解码和写入数据 然而,在运行一两个小时后(它已经变化了),它会崩溃,因为节点内存不足。我怀疑节点缓冲区的使用是泄漏的根源,因为它们是在V8堆之外分配的,但据我所知,没有办法控制它们的GC。我在解析代码中大量使用缓冲区,这就是节点套接字“数据”事件给出的结果 目前,没有任何其他可能导致泄漏的情况发生。而且,在前半个小时左右,内存使用量似乎保持在10米左右,然后开始快速上升 我的问题是,

我的程序是一个CLI网络客户端(我的第一个网络项目),到目前为止,我已经能够解决我遇到的所有问题。它100%正确地解码和写入数据

然而,在运行一两个小时后(它已经变化了),它会崩溃,因为节点内存不足。我怀疑节点缓冲区的使用是泄漏的根源,因为它们是在V8堆之外分配的,但据我所知,没有办法控制它们的GC。我在解析代码中大量使用缓冲区,这就是节点套接字“数据”事件给出的结果

目前,没有任何其他可能导致泄漏的情况发生。而且,在前半个小时左右,内存使用量似乎保持在10米左右,然后开始快速上升


我的问题是,有没有办法解决涉及缓冲器的泄漏?缓冲区有什么我应该知道的怪癖吗?是否有任何明显的操作过程?

您可以尝试使用单元测试代码,当检测到内存泄漏时,测试将失败。

您使用的是哪个版本的节点,如果不是0.6.11,则升级,以便您没有真正分析内存泄漏?你只是在猜测?使用节点检查器搜索真正的内存泄漏!我不相信这是真的。我不相信摩卡能检测到内存泄漏!单元测试不针对内存泄漏!你测试一个最小的功能单元。