memwatch 和 heapdump 结合使用了 ,但不知道放在,项目的哪一部分合适?

发布于 2022-09-04 20:15:40 字数 879 浏览 10 评论 0

Node项目(Node+Express+Java,webstorm创建的Node框架),项目上线后出现的内存溢出(Javascript heap out of memory),想用memwatch 和 heapdump 结合,对内存监测。
目前把监测的代码写到 bin/www 启动文件中,不知道合适不合适?暂时得到了测试的内存快照并用chrome打开了但是不知道怎么去看数据分析?

/**
 * Event listener for finding memory leaks in Node.JS
 * @type {events.EventEmitter}
 */
var memwatch = require('memwatch-next');
var hd = new memwatch.HeapDiff();
var heapdump = require('heapdump');

memwatch.on('stats', function (stats) {
    console.log(stats);
});

memwatch.on('leak', function (info) {
    var diff = hd.end();
    console.log(JSON.stringify(diff));

    var file = '/tmp/myapp-' + process.pid + '-' + Date.now() + '.heapsnapshot';
    heapdump.writeSnapshot(file, function (err) {
        if (err) {
            console.error(err);
        } else {
            console.error('Wrote snapshot: ' + file);
        }
    });
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文