JavaScript 堆内存溢出,原因:Ember CLI

您好!

我正在尝试将 Discourse 安装到一台最小服务器 2vCPU / 1GB / 40GB(我预计它不会有太多使用,并且可以节省成本)。

我以前能够在这样的实例上安装 Discourse,但今天我遇到了这些错误 - 我已经在论坛上搜索过,但没有看到其他人报告过。

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
...
** FAILED TO BOOTSTRAP ** 请向上滚动并查找更早的错误消息,可能不止一个。

我按照脚本的建议运行了 discourse-doctor;它检测到 Discourse 未运行,因此启动了重建,但结果相同。

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 1117 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
553da25c117d42161ef95845c6876a32810feaa4b5e651ac8118981884933982
** FAILED TO BOOTSTRAP ** 请向上滚动并查找更早的错误消息,可能不止一个。
./discourse-doctor may help diagnose the problem.
==================== END REBUILD LOG ====================
Failed to rebuild app.
1 个赞

+1 运行最近的更新时出现相同问题(docker-manager 已成功更新,这是 discourse 从 v2.8.0.beta11v2.9.0.beta1 的更新)。

1 个赞

您能分享一下您的服务器规格吗?有多少内存/交换空间?

3 个赞

我最新的重建也失败了,使用了一个1GB的DigitalOcean的Droplet。我认为我需要暂时(?)调整到2GB,但我已经运行了./launcher restart app并重启了重建前的版本,同时我在思考。不知道这是否有帮助?

root@test:/var/discourse# free -h
              total        used        free      shared  buff/cache   available
Mem:          976Mi       753Mi        80Mi        29Mi       142Mi        64Mi
Swap:         2.0Gi       131Mi       1.9Gi
3 个赞

我们将暂时回滚新的 Ember CLI 构建管道,以便在低内存环境中进行调试。

7 个赞

我已经编辑了标题以反映此问题。

2 个赞

我正在使用一个 gCloud e2-micro 实例(微型机器类型,具有 0.25 个 vCPU 和 1 GB 内存,由共享物理核心支持)


编辑: 如果有人好奇我为什么会这样做,我从爬虫那里获得的流量比用户多,而且我们正试图为脑卒中患儿的家庭和幸存者提供更多的联系点。没有人注意到它在首次加载或保存时有点慢,因此免费套餐 Google Cloud 提供的价值很有帮助。

4 个赞

此更改现已撤销,我们将进一步调查。感谢大家的报告!

5 个赞

请再试一次重建,现在应该会好很多。

4 个赞

此主题已在 11 小时后自动关闭。不再允许回复。