Node.js - 尝试/捕获内存泄漏?

时间:2018-01-17 20:28:10

标签: node.js memory

我有一个接受JSON字符串的套接字服务器。我每秒钟收到大约10个请求,所以它是一个非常繁忙的服务器。

我使用以下代码对其进行解码

try {
  let result = JSON.parse(data);
} catch(e) {
   console.log(e);
}

我使用try / catch的原因显而易见,因为有时我会得到无效的json字符串。

现在的问题是,如果JSON无效,字符串将保留在内存中。

检查以下屏幕截图 https://screencast.com/t/SVkcpuHbkrSK

内存不断上升,大约30分钟就达到了近200mb。有一个问题,我收到了很多无效的json字符串,它打破了实例离开服务器没有RAM。

如果我只获得有效的JSON字符串,一切正常。

为了确保这个问题我只保留了try / catch代码,之后什么也没发生。

编辑。

实际上你可以使用这段代码

var test = function () {
    try {
        let result = JSON.parse('invalidData');
    }
    catch (e) {
        console.log(e);
    }
};
setInterval(function () { test(); }, 100);

0 个答案:

没有答案