Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js尽管堆大小相当一致,但RSS内存随着时间的推移而增长大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_419_4@
我有一个node.js应用程序,尽管heapUsed / heap@R_164_10586@l保持相对稳定,但RSS内存使用似乎仍在增长.

@H_403_8@

这是一周内(来自process.memoryUsage())进行的三次内存测量的图表:@H_403_8@

您可能会注意到有一些循环模式 – 这与应用程序在每天的活动相对应.@H_403_8@

实际上堆中似乎有一点点增长,尽管它远不及RSS增长.所以我一直在使用堆转储(使用Node-heapdump),并使用Chrome的堆比较功能来查找泄漏.
一个这样的比较可能如下所示(按大小增量按降序排序):@H_403_8@

实际显示内容取决于拍摄快照的时间(例如,有时会分配更多的缓冲区对象等) – 这里我尝试采用最能说明问题的示例.@H_403_8@

首先要注意的是左侧的尺寸(203MB对345MB)远远高于图中显示的堆尺寸.其次,大小增量显然与142MB的差异不匹配.事实上,按大小增量按升序排序,许多对象已被释放,这意味着堆应该更小!@H_403_8@

有没有人有任何想法:@H_403_8@

>为什么会这样? (RSS不断增长,堆大小稳定)
>我怎么能阻止这种情况发生,而不是偶尔重启服务器?@H_403_8@

其他详情:
节点版本:0.10.28
操作系统:Ubuntu 12.04,64位@H_403_8@

更新:正在使用的模块列表:@H_403_8@

> async v0.2.6
> log4js v0.6.2
> mysql v2.0.0-alpha7
> nodemailer v0.4.4
> node-time v0.9.2(关于时区信息,不要与nodetime混淆)
> sockjs v0.3.8
> underscore v1.4.4
> usage v0.3.9(对于cpu统计信息,不用于内存使用)
> webkit-devtools-agent v0.2.3(已加载但未激活)
转储时加载heapdump v0.2.0.@H_403_8@

谢谢阅读.@H_403_8@ @H_419_4@

解决方法

您在RSS使用和堆使用之间看到的差异是缓冲区.

@H_403_8@

“缓冲区类似于整数数组,但对应于V8堆外部的原始内存分配”
https://nodejs.org/api/buffer.html#buffer_buffer@H_403_8@ @H_419_4@ @H_419_4@

@H_419_4@
@H_197_37@ @H_419_4@
本图文内容来源于网友网络收集整理提供,作为学习参使用,版权属于原作者。

猜你在找的Node.js相关文章

一、概述简介node.js实际上是采用google的chrome浏览器V8引擎,由C++编写的javascript运行环境,由于封装和底层的处理赋予了更大的能力,使得js可以像java、PHP等一样运行于服务器端。它可以像浏览器引擎那样解析js代码,却没有浏览器端各种安全性的限制,还提供许多系统级别的API: 1、文件的读写 2、进行的管理 3、网络通信Node.js与浏览器执行环境的异同点相
一、app.use与http.createServer….二、app.use路由与app.get、app.post#等等的区别针对不同的请求,Express提供了use方法的一些别名(get、post之类),用express时才能用get、post吗?三、express三大核心概念:路由、中间件、模板引擎四、要选择哪种模板比较好?
代码在 ==》E:nodes实战myservetestserve 1 express搭建后端请求路由,前端进行访问对应的接口 1) 创建项目目录 express 项目名 -e 然后按照提示就可以
1. fs读取文件 const fs=require('fs');//引入文件读取模块 fs.readFile('./README.md',(err,data)=&gt
后端代码 在后端的文件 routes文件夹下的connect.js文件中 // 引入mysql const mysql = require('mysql'); // 创建连接对象 co
path 中方法使用及 __dirname 和 __filename 一、__dirname 和 __filename 1. 概念 1. __dirname 可以用来动态获取当前文件所属目录的绝对路径
@L_197_58@
express包含的内容:1)主体2)cookie,session3)数据4)模板引擎5)路由需要用到的插件:express---web框架express-static------解析静态资源cookie-parser-------解析cookie,服务端读取客户端设置的cookiecookie-session------解析sessionbody-pa...
Node.js学习课程的安排Node.js最大的特点就是:非阻塞IO和事件驱动、模块化驱动  Node的基础概念1)node命令的基本用法(1)进入REPL环境:node,进入REPL环境  .exit     在REPL环境,可以测试Node的一些代码和模块进入window的PowersHell环境:cmd  执行:powersHell     通过命令行执行...

node.js尽管堆大小相当一致,但RSS内存随着时间的推移而增长

微信公众号搜 "程序精选"关注

大佬总结

以上是大佬教程为你收集整理的node.js尽管堆大小相当一致,但RSS内存随着时间的推移而增长全部内容,希望文章能够帮你解决node.js尽管堆大小相当一致,但RSS内存随着时间的推移而增长所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。