Closed kaihekaihe closed 5 years ago
挂一下Alinode 看一下 https://www.aliyun.com/product/nodejs
哪里的 vue 模板?大概率你是玩了 SSR 导致的内存泄露了,业务代码的 bug,用 alinode 排查吧。
内存泄露改配置没啥意义,正视问题。
这应该不是内存泄漏,有其他人遇到了和我一样的问题。看这个帖子: https://v2ex.com/t/523721
资料说v8默认的max-old-space-size是1.7g。今天第三天,内存已接近1.7g
资料说v8默认的max-old-space-size是1.7g。今天第三天,内存已接近1.7g
所以你挂一下AliNode啊 有那么多参数一看就知道了嘛
资料说v8默认的max-old-space-size是1.7g。今天第三天,内存已接近1.7g
所以你挂一下AliNode啊 有那么多参数一看就知道了嘛
我的代码只能在公司内部部署,不能部署到阿里云上,也能挂alinode?
挂AliNode 是为了解决问题,跟你的部署环境没关系。如果AliNode上内存也涨了,那就才能知道是哪里的问题。
挂AliNode 是为了解决问题,跟你的部署环境没关系。如果AliNode上内存也涨了,那就才能知道是哪里的问题。
https://help.aliyun.com/document_detail/60907.html?spm=a2c4g.11186623.6.555.58cd88e7ldbvn3
公司内网络不能外传数据,和 agentserver.node.aliyun.com:8080网络不通。
这样我在哪看监控数据,有么有集成方案的链接
@kaihekaihe 如果要设置 max-old-space-size ,加个环境变量 NODE_OPTIONS=--max-old-space-size=4096
,但是不建议这么绕过,你内存占用都这么接近 oom 了,node 肯定会进行 gc 的,如果 gc 后都降不下来,大概率就是出现内存泄露了。除非你的应用真的是一直处于比较高的 qps 下,不然内存占用不会这么高,就算你设置了 max-old-space-size 也一样容易爆,找到根源解决才是王道。
那个模板不是官方的,你可以找开发者反馈看看。
alinode 不需要部署阿里云,只有一些内存之类的数据会上传,上传脚本都是开源的,可以自己看。
那只能自己研究那几个 node 的工具,自行分析了
@qingdengyue 我在阿里云上创建了一个应用,但是怎么把https://github.com/easy-team/egg-vue-webpack-boilerplate部署上去,这个部署要收费?
@atian25 那意思是我可以部署到本地,通过上传脚本上传数据?有没有方案链接
@kaihekaihe 有Egg的部署方案。 https://help.aliyun.com/document_detail/60907.html?spm=a2c4g.11186623.6.555.54b176bf2X1SrQ
@kaihekaihe 有Egg的部署方案。 https://help.aliyun.com/document_detail/60907.html?spm=a2c4g.11186623.6.555.54b176bf2X1SrQ
我没找到在阿里云上怎样拉取代码,安装依赖,构建启动这块。是通过容器来启动?
alinode 你可以在本地跑的(除了 windows),只要网络能联调 agentserver.node.aliyun.com 即可。
@kaihekaihe 部署的话,除了先进行项目构建外,部署就和普通的 node 应用一样部署就可以. 针对这个问题,先确认两点:
在没人使用的情况下, 内存一直涨, 那就感觉不是 SSR 渲染导致的内存问题。如果alinode 用不了,自己用这种方式排查一下: https://www.yuque.com/hubcarl/blog/dxrrhq
这么没法猜,没人访问,也有可能是定时任务来请求。总而言之,用工具直接看内存里面是啥,就一目了然了。
这种情况是要排查一下, 刚我又在本地压侧了一下,内存回收正常
ab -c 50 -n 1000 http://127.0.0.1:7001/ ab -c 50 -n 1000 http://127.0.0.1:7001/admin/article/list/
建议先排查一下自己添加的功能,同时后用工具分析一下内存情况 @kaihekaihe, 也可以提供可复现的 Demo ,我这边排查一下
Hello @kaihekaihe. Please provide a reproducible example following the instruction.
Issues labeled by Need Reproduce
will be closed if no activities in 7 days.
@kaihekaihe,请根据这个说明提供最小可复现代码。
如果在 7 天内没有进展会被自动关闭。
@hubcarl 用 v8-profiler-node8 导出堆在 1g 左右时的堆快照,然后进入 Node.js 性能平台 开通后进入控制台创建任意的一个应用,点击创建好的应用的 文件 进入文件列表页:
最后点击 上传文件:
可以将你生成的堆快照手动上传进行分析查看结果的
这个问题和 egg 本身应该是没有关系的
如果借助于 Node.js 性能平台排查有问题的可以加钉钉群 11794270 咨询,这个 issue 先关闭了
Background
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Proposal
Describe the solution you'd like, better to provide some pseudo code.
Additional context
Add any other context or screenshots about the feature request here.
我克隆了egg vue的模板,没有加任何其他大的开发功能进去。在容器中启动。在几乎没人使用的情况下,内存在一天内逐步上升到1.6g。建议能有配置进行内存分配优化 。
我的启动命令在package.json中是egg-scripts start。像这些配置--max_old_space_size=600 --max_semi_space_size=8这些,应该怎么加?
还有在容器中设置jemalloc,不会会使内存越来越大,那么这样的jemalloc,能否通过一个插件来实现?