微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Chrome DevTools 查找 NodeJS/Express 路由中的内存泄漏

如何解决如何使用 Chrome DevTools 查找 NodeJS/Express 路由中的内存泄漏

我的 NodeJS/Express 应用程序中有两条似乎会泄漏内存的路由。我使用 Chrome DevTools 制作了一些快照,但不知道如何将这些数据链接到我的代码

enter image description here

enter image description here

(那些快照(2 到 8 个)间隔大约 3 分钟,而我经常从脚本中调用路由)

路线 1:

<!DOCTYPE html>
<html>

  <head>
    <title>Carousel</title>
    <Meta name="viewport" content="width=device-width,initial-scale=1">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
    <link rel="stylesheet" href="css/style.css">
  </head>

<body>
  <div class="carousel-wrapper">

    <span id="item-1"></span>
    <span id="item-2"></span>
    <span id="item-3"></span>


    <div class="carousel-item item-1">
      <a class="arrow arrow-prev" href="#item-3"></a>
      <a class="arrow arrow-next" href="#item-2"></a>
    </div>

    <div class="carousel-item item-2">
      <a class="arrow arrow-prev" href="#item-1"></a>
      <a class="arrow arrow-next" href="#item-3"></a>
    </div>

    <div class="carousel-item item-3">
      <a class="arrow arrow-prev" href="#item-2"></a>
      <a class="arrow arrow-next" href="#item-1"></a>
    </div>
  </div>

</body>
</html>

});

路线 2:

router.post('/riverwaterlevel',verifyBearerToken,async (req,res) => {
 
let uploadedData = req.body;

for (const element of uploadedData) {

    let latestRWLofUUID = await RiverWaterLevel.findOne({ uuid: element.uuid }).sort({ timestamp: -1 });
    
    if (latestRWLofUUID) {
        if (latestRWLofUUID.value !== element.value) {
            let newData = new RiverWaterLevel({
                uuid: element.uuid,station: element.station,water: element.water,timestamp: element.timestamp,value: element.value
            });

            await newData.save();
            newData = null;
        }
    } else {
        let newData = new RiverWaterLevel({
            uuid: element.uuid,value: element.value
        });

        await newData.save();
        newData = null;
    }

    latestRWLofUUID = null;
    
};

uploadedData = null;
res.json({});

});

您是否发现我的代码中有任何严重错误,或者可以提示我如何将这些快照链接到我的代码以查找漏洞?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。