阿里云项目启动OOM问题解决

news2024/11/25 21:51:01

在这里插入图片描述

问题描述

随着项目业务的增长,系统启动时内存紧张,每次第一次启动的时候就会出现oom第二次或者第n的时候,就启动成功了。

带着这个疑问,我就在阿里云上提交了工单,咨询为什么第一次提交失败但是后面却能提交成功尼?

解决方案

就按照提交工单的时间线看看就行:

问题描述

[10018:0x1b45650]    64727 ms: Mark-sweep 863.6 (895.3) -> 857.2 (895.6) MB, 312.0 / 0.4 ms  (average mu = 0.272, current mu = 0.172) allocation failure scavenge might not succeed
[10018:0x1b45650]    65096 ms: Mark-sweep 865.3 (895.6) -> 858.1 (896.1) MB, 302.1 / 0.4 ms  (average mu = 0.229, current mu = 0.181) allocation failure scavenge might not succeed


<--- JS stacktrace --->

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

售后工程师
2024-09-22 00:02:10
已收到您提交的问题

售后工程师
2024-09-22 00:02:36
请问这个报错是什么地方输出的,麻烦详细描述下并提供服务器ip。

真累什么名字都不能用 – 这是我的用户名
2024-09-22 10:45:27
公网IP 00.100.100.00(这个我还是要处理下的)
启动node项目的时候报出来的

售后工程师
2024-09-22 11:11:12
从报错信息来看是内存不足,您可以free -m看下系统自身内存是否充足,系统内存充足的情况下,检查下程序是否有最大内存限制等导致启动报错,可以根据报错信息外站搜索相关参考案例排查下,修改程序之前建议优先做好备份

售后工程师
2024-09-22 14:39:32
您好,如您暂无其他问题,请关闭下工单。后续有新的问题可以提交新的工单联系我们,感谢您的支持。

真累什么名字都不能用
2024-09-23 17:55:24
swap 的内存很足,怎么swap到磁盘上

# free -m
              total        used        free      shared  buff/cache   available
Mem:           1756        1426          63           0         266         169
Swap:          2047          72        1975

售后工程师
2024-09-23 18:22:32
您好,请问您是指swap扩大?还是什么意思呢?能否详细描述下呢

售后工程师
2024-09-24 09:55:48
尊敬的客户,请您关注工单回复并进行验证,您可以在3天内继续反馈此工单与我们联系。如遇其它问题您可以提交新工单反馈。感谢您的支持!(如果您在工单中提供了账号密码等敏感信息,请您及时修改)

真累什么名字都不能用
2024-09-24 14:18:16
这个错误是项目启动的时候报的错误,内存不足溢了,为了解决内存不足可以使用swap机制,将部分数据swap到磁盘保证项目正常启动。

现在是我的项目启动的时候,第一次都会oom第二次就能正常启动成功,不符合常理。要么每次都失败要么一次就成功。

售后工程师
2024-09-24 14:48:23
您好,oom 是因为您的业务有内存溢出的问题,这个您得从业务侧去查看呢,从您上面命令反馈看配置了2G的Swap,swap使用并不多,有可能是swap分配的并不合理,您可以考虑增大swap,或者调整应用程序的内存使用策略进行优化的。

售后工程师
2024-09-25 01:01:10
尊敬的客户,一直未等到您的回复先将工单置为待确认状态,您可以在3天内继续反馈此工单与我们联系。如遇其它问题您可以提交新工单反馈。感谢您的支持!(如果您在工单中提供了账号密码等敏感信息,请您及时修改,同时建议定期做好数据备份)

真累什么名字都不能用
2024-09-26 15:59:33
Swap他是不用分配的,如果内存不足就会swap到磁盘。 第一次报错,第二次启动成功,这个也不正常呀!

售后工程师
2024-09-26 16:03:41
请稍等,这边看下。

售后工程师
2024-09-26 16:55:21
您好

1麻烦您在程序启动失败时在服务器内部执行下free -m

2然后请您在程序启动成功后,也在服务器内部执行下free -m

请您提供下两次的截图,这边看下,谢谢

真累什么名字都不能用
2024-09-28 15:28:40
第一次启动失败的报文:
在这里插入图片描述

第二次启动成功的报文
image.png

售后工程师
2024-09-28 16:14:49
您好,前后两次的swap分区使用情况看差异不大的,区别看是物理内存使用量不同,可用内存也不同

swap的使用是系统管理的,配置了swap分区,即使将vm.swappiness 设置为100 也并不能保证一定能使用到swap分区的,建议您可以考虑将swap分区增大下,并优化下node程序启动申请的内存最大大小再看下
在这里插入图片描述
在这里插入图片描述

真累什么名字都不能用
2024-10-02 16:35:31
我知道应该优化项目启动占用的内存大小,知识郁闷的是为什么第一次和第二次存在区别。

售后工程师
2024-10-02 17:09:05
您好,您也查看下问题时间服务器messages日志看有报错记录吗,此情况应是开始没有使用swap的,swap和真实内存使用是有区别的,是否使用swap是系统侧进行决定。

真累什么名字都不能用
2024-10-03 15:34:09
刚次1次启动就成功了,很奇怪

售后工程师
2024-10-03 15:56:59
您好,建议您使用观察下,如果后续启动报错您也检查下messages系统日志看下是否有错误记录。
真累什么名字都不能用

2024-10-04 10:31:16
大清早起来项目第一次崩掉了。。。。。
image.png

真累什么名字都不能用
2024-10-04 10:33:35
怎么演变成了,运行一段时间,自动oom了,这谁扛得住

<--- Last few GCs --->

[25560:0x21b3650]  9596697 ms: Mark-sweep 876.0 (893.3) -> 874.5 (893.3) MB, 265.6 / 0.3 ms  (average mu = 0.931, current mu = 0.908) allocation failure scavenge might not succeed
[25560:0x21b3650]  9603818 ms: Mark-sweep 876.2 (893.3) -> 874.5 (893.6) MB, 351.2 / 0.4 ms  (average mu = 0.944, current mu = 0.951) allocation failure scavenge might not succeed


<--- JS stacktrace --->

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
 1: 0x7fd1989ead78 node::Abort() [/lib64/libnode.so.93]
 2: 0x7fd1988d8a73  [/lib64/libnode.so.93]
 3: 0x7fd199be8a20 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/lib64/libnode.so.93]
 4: 0x7fd199be8de7 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/lib64/libnode.so.93]
 5: 0x7fd199da87e5  [/lib64/libnode.so.93]
 6: 0x7fd199dbe654  [/lib64/libnode.so.93]
 7: 0x7fd199dc0749 v8::internal::Heap::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/lib64/libnode.so.93]
 8: 0x7fd199dc07d7 v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/lib64/libnode.so.93]
 9: 0x7fd199d80fcd v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType, v8::internal::AllocationOrigin) [/lib64/libnode.so.93]
10: 0x7fd19a11958a v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [/lib64/libnode.so.93]
11: 0x7fd199ae3d19  [/lib64/libnode.so.93]

售后工程师
2024-10-04 11:32:17
您好,查看报错是和内存不足有关的,您程序是java相关的话,java的XMX 参数设置的多少,有指定吗,如果是默认配置,可以考虑对XMX设置为1个G观察下

真累什么名字都不能用
2024-10-08 12:43:26
项目是vuepress项目

服务助手
2024-10-09 22:35:27
i-uf65h6i43ltlzhqolumy
d-uf6j9l10qgp2yr97o20n(系统盘). (这个时候给阿里云授权了)

真累什么名字都不能用
2024-10-09 22:35:27
已操作授权

售后工程师
2024-10-10 01:03:59
您好,请问您的这个程序如何启动,配置文件路径麻烦也提供一下,另外您的这个程序属于第三方软件超出了阿里云的服务范围这边会尽力帮您尝试排查下但是无法保证可以解决,这个请了解,谢谢

真累什么名字都不能用
2024-10-11 11:06:16
screen -r -d

npm run docs:dev
售后工程师
2024-10-11 11:44:13
您好,刚刚尝试与您电话,但是电话没有接通

screen -r -d后出现了附件中的提示,麻烦您看下,谢谢
在这里插入图片描述
真累什么名字都不能用
2024-10-11 20:19:02
你干啥了,搞坏了

真累什么名字都不能用
2024-10-11 20:19:53
刚他们说网站崩掉了

服务助手
2024-10-11 20:24:04
真累什么名字都不能用
2024-10-11 20:39:18
Ctrl+a+d 可以退出 窗口管理器,查看服务器的信息, screen -r -d 是打开我程序运行窗口,不能终止的,终止了系统就挂了。

售后工程师
2024-10-11 23:56:38
您好,抱歉给您使用带来不便,您提供启动程序命令后,没有和您确认执行命令的影响,执行 screen -r -d 后 没有什么反应,当时尝试电话联系您核实情况也没有联系通,不清楚是否会影响到您网站。
关于您反馈的网站情况,专员已和您电话沟通,给您带来不便请谅解。

真累什么名字都不能用
2024-10-12 21:38:00
造成的损失你我一块承担一些吧

售后工程师
2024-10-12 22:02:44
您好,您反馈的问题我们已经记录并转交给后端专项处理人员,核实需要些时间,请您耐心等待,有结果我们会第一时间反馈。

售后工程师
2024-10-13 11:32:17
您好,您反馈的问题预计周一工作时间专员会和您联系沟通。

真累什么名字都不能用
2024-10-13 15:10:29
好的

售后工程师
2024-10-13 15:16:43
届时会有专员跟您联系沟通,有其他问题您随时反馈。

售后工程师
2024-10-14 17:22:07
您好

1 关于损失的情况,专员已和您电话沟通好方案,给您账号补偿500元代金券,已经发放完成,请您查看。

2 服务器里网站应用程序出现out of memory的问题,建议优化程序的内存使用,或者考虑给服务器升级配置增加内存。

3 对于第一次启动程序会出现out of memory,第二次启动程序就正常的情况,目前还没有排查到原因,如果要继续排查,避免影响您网站使用,请您给服务器创建一个镜像,把镜像共享给我们的测试账号(1833241755205400),我们用测试账号创建服务器进行分析排查看看,因为升级到第三方应用程序,也不能保证一定可以查到原因。

使用实例创建自定义镜像 https://help.aliyun.com/zh/ecs/user-guide/create-a-custom-image-from-an-instance?spm=a2c4g.11186623.0.i0

共享自定义镜像 https://help.aliyun.com/zh/ecs/user-guide/share-a-custom-image?spm=a2c4g.11186623.0.i3

真累什么名字都不能用
2024-10-14 18:25:11
这个创建镜像的流程看着比较麻烦,我晚上搞一下,谢谢

售后工程师
2024-10-14 19:00:17
好的,有问题,请您再反馈,谢谢

真累什么名字都不能用
2024-10-14 23:24:28
镜像已经创建好了,镜像名:Created_from_i-uf65h6i43ltlzhqolumy
售后工程师
2024-10-15 00:38:41
您好

请您参考:https://help.aliyun.com/zh/ecs/user-guide/share-a-custom-image?spm=a2c4g.11186623.0.i3 将您创建的镜像共享到这个1833241755205400账号的上海地域,共享完成后,请您工单反馈下,谢谢
真累什么名字都不能用
2024-10-17 12:37:37
o , 已经创建好了,忘记回复了

售后工程师
2024-10-17 13:02:37
您好,您的问题正在核实,请您不要关闭工单,等待我们进一步答复,谢谢

售后工程师
2024-10-17 14:05:39
您好,npm run docs:dev 是需要先切换到某一路径下在执行吗,目前登录测试服务器后多次执行查看均提示报错。
image.png

服务助手
2024-10-20 14:05:39

真累什么名字都不能用
2024-10-21 11:01:15
打电话聊聊?

真累什么名字都不能用
2024-10-21 11:02:52
主窗口用来执行命令的,使用 screen -r -d 开启了一个新窗口用来启动服务的。这个窗口进去的时候,就是系统运行的窗口,ctrl+c停止运行,但是必须5分钟内启动起来。 npm run docs:dev 启动项目

售后工程师
2024-10-21 12:19:42
您好

刚刚与您电话,您目前不确定再测试机上执行命令是否会影响您的网站,需要执行命令前提前与您确认下.

后续这边操作前会提前与您联系的,您稍等
售后工程师
2024-10-21 12:47:02
.
售后工程师
2024-10-21 13:17:51
您好,您的问题正在为您处理中,请您耐心等待回复。

售后工程师
2024-10-21 13:51:02
您好,经排查分析结果如下:
原因分析:报错原因是Node.js 的 max_old_space_size 设置太小而无法构建此应用程序。 您可以尝试通过设置 NODE_OPTIONS 环境变量来增加 max_old_space_size。
max_old_space_size 以 MB 为单位,默认情况下 max_old_space_size 是机器内存大小的一半。该值可以大于你机器的实际内存大小。
全文核心
解决方法:
先执行export NODE_OPTIONS=–max_old_space_size=2048 后,再执行npm run docs:dev 启动项目

我们多次在测试机上测试,问题可以解决。

售后工程师
2024-10-21 14:55:38
尊敬的客户,请您关注工单回复并进行验证,您可以在3天内继续反馈此工单与我们联系。如遇其它问题您可以提交新工单反馈。感谢您的支持!(如果您在工单中提供了账号密码等敏感信息,请您及时修改)

真累什么名字都不能用
2024-10-22 09:55:10
好的,我今天操作一下,么问题的话,我就关了,非常感谢
售后工程师

2024-10-22 09:57:00
您好,不客气。

真累什么名字都不能用
2024-10-23 22:12:02
嗯,可以了,谢谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2223396.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开挖 Domain - 前奏

WPF App 主机配置 Microsot.Extension.Hosting 一键启动&#xff08;配置文件、依赖注入&#xff0c;日志&#xff09; // App.xaml.cs 中定义 IHost private readonly IHost _host Host.CreateDefaultBuilder().ConfigureAppConfiguration(c > {_ c.SetBasePath(Envi…

基于NERF技术重建学习笔记

NeRF&#xff08;Neural Radiance Fields&#xff09;是一种用于3D场景重建的神经网络模型&#xff0c;能够从2D图像生成逼真的3D渲染效果。它将场景表征为一个连续的5D函数&#xff0c;利用了体积渲染和神经网络的结合&#xff0c;通过学习光线穿过空间时的颜色和密度来重建场…

邮件营销的目的详解:促进销售与业绩增长!

邮件营销的目的效果评估&#xff1f;发不同类型营销邮件的目的&#xff1f; 邮件营销作为一种高效且成本低廉的营销手段&#xff0c;被广泛应用于各行各业。邮件营销的目的不仅仅是简单的信息传递&#xff0c;更是为了促进销售与业绩增长。MailBing将深入探讨邮件营销的目的&a…

01 springboot-整合日志(logback-config.xml)

logback-config.xml 是一个用于配置 Logback 日志框架的 XML 文件&#xff0c;通常位于项目的 classpath 下的根目录或者 src/main/resources 目录下。 Logback 提供了丰富的配置选项&#xff0c;可以满足各种不同的日志需求。需要根据具体情况进行配置。 项目创建&#xff0…

SWOT分析法:企业决策的全方位视角

SWOT分析是商业领域中广泛采用的一种战略规划工具&#xff0c;它通过评估企业的优势&#xff08;Strengths&#xff09;、劣势&#xff08;Weaknesses&#xff09;、机会&#xff08;Opportunities&#xff09;和威胁&#xff08;Threats&#xff09;四个关键维度&#xff0c;帮…

[数据集][目标检测]电力场景输电线路巡检检测数据集VOC+YOLO格式8667张50类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;8667 标注数量(xml文件个数)&#xff1a;8667 标注数量(txt文件个数)&#xff1a;8667 标注…

如何迁移 GitLab 服务器:完整指南

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119@qq.com] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? 专栏导…

Kaggle竞赛——灾难推文分类(Disaster Tweets)

目录 1. 准备工作2. 资源导入3. 数据处理4. 绘制词云图5. 数据可视化5.1 词数和字符数可视化5.2 元特征可视化5.3 类别可视化 6. 词元分析6.1 一元语法统计6.2 多元语法统计 7. 命名实体识别8. 推文主题提取9. 构建模型9.1 数据划分与封装9.2 模型训练与验证 10. 模型评估11. 测…

LinkedList和链表之刷题课(下)

1. 给定x根据x把链表分割,大的结点放在x后面,小的结点放在x前面 题目解析: 注意此时的pHead就是head(头节点的意思) 基本上就是给定一个链表,我们根据x的值来把这个链表分成俩部分,大的那部分放在x后面,小的那部分放在x前面,并且我们不能改变链表本来的顺序,比如下面的链表,我…

精益思维在新能源汽车研发中的应用体现

近年来&#xff0c;新能源汽车作为绿色出行的重要载体&#xff0c;其研发与生产模式正经历着深刻的变革。精益思维&#xff0c;这一源自制造业的管理理念&#xff0c;正逐步渗透并深刻影响着新能源汽车的研发过程&#xff0c;不仅提升了产品质量与生产效率&#xff0c;还促进了…

CV2通过一组轮廓点扣取图片

代码如下&#xff1a; import cv2 import numpy as np# 读取原始图像 original_image cv2.imread(img.png)# 定义一组轮廓点&#xff08;这里只是示例&#xff0c;你需要根据实际情况替换&#xff09; points np.array([[50, 100], [100, 200], [200, 150], [200, 50], [160…

论文引用收录证明有什么用?

论文收录引用证明通常用于申请学位、职称评定、科研项目申请等需要证明研究成果的场合&#xff0c;当科研工作者需要查询其学术论文在指定数据库中的被收录和被引用情况时&#xff0c;可以委托一级科技查新咨询单位进行检索&#xff0c;并出具加盖公章的检索证明&#xff0c;以…

QT 机器视觉 (3. 虚拟相机SDK、测试工具)

本专栏从实际需求场景出发详细还原、分别介绍大型工业化场景、专业实验室场景、自动化生产线场景、各种视觉检测物体场景介绍本专栏应用场景 更适合涉及到视觉相关工作者、包括但不限于一线操作人员、现场实施人员、项目相关维护人员&#xff0c;希望了解2D、3D相机视觉相关操作…

分布式ID生成策略

文章目录 分布式ID必要性1.UUID2.基于DB的自增主键方案3.数据库多主模式4.号段模式5.Redis6.Zookeeper7.ETCD8.雪花算法9.百度(Uidgenerator)10.美团(Leaf)11.滴滴(TinyID) 分布式ID必要性 业务量小于500W的时候单独一个mysql即可提供服务&#xff0c;再大点的时候就进行读写分…

视频智能分析平台LiteAIServer烟火识别软件引领烟火检测与识别的智能新纪元

随着人工智能技术的飞速进步&#xff0c;视频智能分析技术正以前所未有的深度和广度渗透至安全防护、环境监测等多个关键领域。其中&#xff0c;烟火识别软件LiteAIServer凭借其卓越的烟火检测与识别算法&#xff0c;成为了业界瞩目的焦点。 一、烟火检测&#xff1a;守护公共安…

汽车及零配件企业海量文件数据如何管

汽车行业特点 汽车行业是工业企业皇冠上的一颗明珠&#xff0c;在国民经济中占据着举足轻重的地位。汽车行业具备技术密集、创新速度快、供应链复杂等特点&#xff0c;具体体现为&#xff1a; 技术密集&#xff1a;汽车行业是技术密集型行业&#xff0c;覆盖机械、电子、软件、…

【CSS3】css开篇基础(4)

1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; Hello, Hello~ 亲爱的朋友们&#x1f44b;&#x1f44b;&#xff0c;这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章&#xff0c;请别吝啬你的点赞❤️❤️和收藏&#x1f4d6;&#x1f4d6;。如果你对我的…

cpp的string类

本篇将讲述string类中的各种重要和常用函数&#xff08;string()、begin&#xff08;&#xff09;、rbegin&#xff08;&#xff09;、cbegin&#xff08;&#xff09;、crbegin&#xff08;&#xff09;、end&#xff08;&#xff09;、rend&#xff08;&#xff09;、cend&am…

20241024拿掉飞凌OK3588-C的开发板linux R4启动时的LOGO

20241024拿掉飞凌OK3588-C的开发板linux R4启动时的LOGO 2024/10/24 14:20 缘起&#xff1a;公司的产品可能要卖到北边/敏感地区。 开机肯定有飞凌的LOGO。 要么是公司的LOGO&#xff0c;要么是中性的&#xff1a;全黑色或者是一朵花【稍微有点品味】。 所以要拿掉uboot/Kernel…

汽车级DC-DC转换器英飞凌TLF35584

上汽荣威都在用的汽车级DC-DC转换器英飞凌TLF35584 今天平台君从IPBrain数据库中给大家带来的一款由Infineon(英飞凌)推出的一款多路输出安全电源芯片,具备高可靠性和安全性。适用于汽车电子系统中的多种应用场景,如车身控制、安全气囊、防抱死制动系统,电子稳定控制系统等。…