2GB RAM 无 swap 重建错误

我遇到了与上面主题完全相同的问题,是在一个 2GB 内存的实例上。

在错误发生前,我拍了一张 htop 快照 - 注意 swap 没有被使用。

您需要 2gb 的交换空间。如果您运行 discourse-setup,它就会创建它。

5 个赞

应该说明这已经运行了四年多,我每两到三个月重建一次。

是的,交换至关重要。

没有它,事情就会失败。

2 个赞

所以基本上是再次运行 discourse-setup 而不是常规重建?

2 个赞

如果您运行 discourse-setup 来启动,那么可能是您的系统存在某些问题,导致它无法创建交换空间。您可能需要自己创建交换空间。搜索类似“创建交换空间 YOUR-LINUX-DISTRIBUTION”的内容。

1 个赞

谢谢 Jay 和 Robert。确实缺少了 swap。

解决方案是:

cd /var/discourse
chmod 700 containers # 可能是多余的,但无害
./discourse-setup

设置将重新创建 swap 并退出。

警告:当使用 2GB RAM 或更少内存运行时,Discourse 需要至少 2GB 的 swap。此系统似乎没有足够的 swap 空间。

没有足够的 swap 空间,您的站点可能无法正常工作,并且 Discourse 的未来升级可能无法成功完成。

按 Ctrl+C 退出或等待 5 秒钟创建一个 2GB 的 swapfile。
正在设置 swapspace 版本 1,大小 = 2 GiB (2147479552 字节)
无标签,UUID=e0321b22-.....
/swapfile       swap    swap    auto      0       0
vm.swappiness = 10
containers/app.yml 配置文件已存在!

. . . 重新配置 . . .

将旧文件另存为 app.yml.2023-10-03-153852.bak
5 秒后停止现有容器或按 Control-C 取消。

然后只需进行常规重建。

2 个赞

您最初安装时没有运行 discouse-setup 吗?

不,几年前我使用 discourse-setup 来安装这个实例。我不确定为什么 swap 被杀掉了,我之前在服务器上安装了其他东西,现在已经卸载了,这可能做了一些我不知道的事情。也许这个应用程序与 swap 交互过,这不是我的专业领域,但实例已经重新启动并运行了。

2 个赞

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