吐糟阿里云 ECS 服务器, 4 核 8G 打包 nextjs 项目都能内存溢出!用了 github Actions 打包后感觉被骗了!

4 天前
 ttkit

之前的机器是 2 核 4g 的配置,打包 nextjs 项目经常不成功,后面升级了 4 核 8G 打包成功了,但是速度很慢,现在好了直接不能打包!

无奈使用免费的 github Actions ,发现吊打阿里云服务器啊,还没一个免费的服务好用!这钱花的不值~

是我不会用阿里云 esc 吗,还是阿里云的 ecs 有猫腻。。。

4849 次点击
所在节点    程序员
63 条回复
newaccount
4 天前
默认没有 swap 吧,你加个试试看
rekulas
4 天前
这个最好排查下,不一定是阿里的问题,有可能你这套打包就是超了 8g 呢。。。我们之前有一个 nuxt 的也是打包内存直接 oom ,现在的前端几十个页面打包时间几分钟内存数 G ,后端数百项 api 打包 20s 内存几百 M ,实在不想吐槽

至于 github ,它的机器确实比较厚道,你的用的实例可能不止 8g
ttkit
4 天前
@newaccount 大佬,swap 是什么?我一个小前端不是很懂运维的知识。
ttkit
4 天前
@rekulas 是啊,太坑,打包这些都是 next 项目自带的,也问了 AI 有什么优化的方法,最多就是加 node 运行的最大内存还是不行。
newaccount
4 天前
@ttkit #3 windows 的虚拟内存知道吧,在 linux 上就是 swap
ttkit
4 天前
@newaccount 好的,我研究下
skallz
4 天前
打包直接用云效啊,你都用阿里云了为啥不直接用配套的云效流水线。。。
hefish
4 天前
就看在 esc ,ecs 混用的情况,感觉 op 技能还能再提高一些。
baobao1270
4 天前
ttkit
4 天前
@skallz 好的,谢谢提醒。
ttkit
4 天前
@hefish 哈哈,是的,不是专业的,只能用的时候网上找找资料,问问 AI
ttkit
4 天前
@baobao1270 这个就是专业👍
gadfly3173
4 天前
我本地一个 build 完 12MB 的 angular9 的项目,打包的时候吃掉了 2.4GB 内存,再加上你系统其他占用什么的,要是没 swap 的话,超 8G 应该很轻松
salmon5
4 天前
前端?
ThisZKC
4 天前
国内各大公有云都有资源 基本官网价格的六折左右都能买到
laminux29
4 天前
关于 swap:

Windows 有个功能叫虚拟内存,在磁盘上设定一个文件,当成内存用。当物理内存满了后,就会开始用磁盘上的这个文件。代价是,早期用机械硬盘,速度极慢。但现在 nvme 了,速度很快。

Linux 的 swap ,本质上也是虚拟内存,但是逻辑与 Windows 完全不一样,坑了很多人。swap 是 Linux 主动进行管理,把一小部分不常用的内容放在这里。当物理内存满了后,不一定会使用 swap ,而是会直接 kill 进程。所以经常发现,Linux 物理内存都用完了,swap 却几乎没怎么用。
sagaxu
4 天前
打包前先设置环境变量

export NODE_OPTIONS=--max_old_space_size=4096
ttkit
4 天前
@salmon5 bro, 我自己的定位不是前端,可以把我当成全栈(全干)!虽然从前端入行的。
ttkit
4 天前
@laminux29 good, bro.
ttkit
4 天前
@sagaxu 用了这个配置不行,感觉还是 ecs 服务器太拉垮,准备降低服务器配置了,多花 1000 多块钱很不开心。把这 1000 多去升级宽带更划算。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1102041

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX