重建失败,退出代码1:ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL

这是我找到的所有内容

ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL 命令被 SIGKILL (强制终止) 杀死:ember build -prod

有什么想法吗?

它运行时间太长。尝试增加交换空间或内存。

我有点怀疑。8 GB 内存,它一下子就用完了,这样的事以前从未发生过。可以改些什么,让这次内存不够用,但昨天和我升级数据库的时候却足够🤔

我理解你的怀疑。

这正是我遇到那个错误时的解决方法。快速(非常快速)的网络搜索也证实了这一点。

我当然还是会试试。添加交换操作并不是一件大事,但我不明白为什么会发生🤷‍♂️

我通常会 grep /var/discourse/discourse-setup 并复制粘贴有关创建交换空间的部分。

我也不明白。

2-容器,当我先停止 web_only,然后停止两个容器时,它就成功了。所以确实可能是内存不足。

30年前的建议是拥有与RAM等量的交换空间。我不知道现在的经验法则是什么,但我认为有8GB,增加2GB甚至4GB并不是一个坏主意。

我增加了 2 GB。不过我不知道为什么我在试图节省磁盘空间。因为如果我遇到因空间不足而出问题的情况,我会考虑比交换空间大小更重要的事情。

1 个赞

我刚刚进行了重建(两个容器),只过了几分钟,然后我得到了这个:

环境:生产环境
设置 'staticAddonTrees' 在下个版本的 Embroider 中将默认为 true,且无法关闭。为了做好准备,你应该在你的 Embroider 配置中设置 'staticAddonTrees: true'
。
设置 'staticAddonTestSupportTrees' 在下个版本的 Embroider 中将默认为 true,且无法关闭。为了做好准备,你应该在你的 Embroider 配置中设置 'staticAddonTestSupportTrees: true'
。
构建中……
未定义
 ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL  命令被SIGKILL(强制终止)杀死:ember build -prod

下一步应该怎么做?

我感觉我以前见过这个。\n\nhttps://meta.discourse.org/t/rebuild-fails-with-exit-1-err-pnpm-recursive-exec-first-fail/351862\n\n我有 8 GB 内存,交换空间是 2 GB — 如果这是由于内存不足造成的,那么现在我到底需要多少内存?

嗯,我已将 swap 从 2G 更改为 4G,然后重建成功了。所以也许又是 RAM 容量的问题。或者只是侥幸。

然后我们又回到了 FAQ 主题:Discourse 到底需要多少 RAM — 因为 swapfile 实际上是总 RAM 容量的一部分,现在看来,一个小论坛实际需要 11GB 以上的 RAM :flushed_face:

1 个赞

您设置了两个内核可调参数了吗?它们会影响需要多少虚拟内存。

不,因为我不知道你在说什么 :face_with_peeking_eye:

那么,我敢肯定,你没有设置它们!

不幸的是,调整 Linux 内核并非 Discourse 官方安装的一部分,但据我所知,这两个简单的小技巧将有助于您的服务器运行良好并减少内存使用。当然,您也可以不用它们,但您可能会发现您需要的 RAM+swap 比您想要的要多。

如果您想要更多技巧,请参阅 MKJ 的主观 Discourse 部署配置

那是由于旧内存管理代码的一个特定特性,并且不适用于今天的 Linux。现在没有真正的经验法则;这仅仅取决于您需要多少。

2 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.