martim
(Martim Passos)
2025 年1 月 22 日 16:11
1
您好,我似乎遇到了与 Rebuild app has stuck 和 Background saving terminated with success 相同的问题,除了我尝试了多次重建,包括重启和不重启。
我有一个 Lightsail 实例,配备 2vCPU、1GB RAM,运行 Ubuntu 20.04。根据这里的其他讨论,我手动编辑了 db_shared_memory 为 256MB,并将 Unicorns 设置为 4。我尝试了 discourse-setup、discourse-doctor 和 launcher rebuild app,它们似乎都表现出相同的行为。
我在日志中看到:
WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
但尝试 MKJ's Opinionated Discourse Deployment Configuration 中的配置似乎没有帮助。
我的构建过程卡在:
...[Babel: select-kit > applyPatches]
...[@embroider/compat/app]
...[@embroider/webpack]
...[@embroider/webpack]
107:M 22 Jan 2025 14:37:30.565 * 1 changes in 3600 seconds. Saving...
107:M 22 Jan 2025 14:37:31.648 * Background saving started by pid 854
854:C 22 Jan 2025 14:37:34.940 * DB saved on disk
854:C 22 Jan 2025 14:37:35.092 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
107:M 22 Jan 2025 14:37:35.341 * Background saving terminated with success
有什么建议可以解决这个问题吗?谢谢。
pfaffman
(Jay Pfaffman)
2025 年1 月 22 日 16:52
2
您有多少交换空间?您可以将其增加到 3 或 4GB。
您让它在该提示符下挂起了多久?
1GB 不算多;那台虚拟机上还有其他东西在运行吗?
这不是问题,但为什么要用 20.04?它的 EOL(生命周期结束)还有 4 个月。
4 个赞
martim
(Martim Passos)
2025 年1 月 22 日 17:19
3
抱歉,是 22.04。上面没有运行其他东西。我肯定让它挂起了一个多小时。我正在尝试增加交换空间,感谢您的建议。
另外,我遇到了虚拟机内存略低于 1GB RAM 的情况,不得不注释掉内存检查。这就是 discourse-setup 输出这个的原因吗?
Found 0GB of memory and 4 physical CPU cores
setting db_shared_buffers = 0MB
setting UNICORN_WORKERS = 0
containers/app.yml memory parameters updated.
pfaffman
(Jay Pfaffman)
2025 年1 月 22 日 17:21
4
Martim Passos:
discourse-setup 是这样输出的吗?
可能是因为内存转换为 GB 以及计算 CPU 核心的方式出了问题。
1GB 现在确实很紧张。我强烈推荐 2GB。
2 个赞
martim
(Martim Passos)
2025 年1 月 22 日 17:26
5
目前这是一个非常小的社区,资金来自学术界,所以我正尽力将其维持在每月10美元以下。如果证明不可能,我会增加预算,谢谢!
2 个赞
Canapin
(Coin-coin le Canapin)
2025 年1 月 22 日 17:29
7
我不熟悉 Lightsail,但在 Hetzner,您每月只需 5 欧元即可获得 2 个 vCPU、4 GB RAM 和 40 GB NVMe。他们在美国也有服务器。
3 个赞
martim
(Martim Passos)
2025 年1 月 22 日 17:34
8
感谢您的建议。我有点依赖 AWS,因为这个项目的其他所有东西都托管/管理在那里,但如果真有必要,我一定会考虑迁移到其他地方。
3 个赞
martim
(Martim Passos)
2025 年1 月 22 日 21:40
9
增加交换空间比以往任何时候都让我走得更远,但我的 SSH 连接在构建完成(运行了几个小时)之前就超时了。
在数千个 Babel: discourse-plugins > applyPatches 之间的最后一个可识别输出是 [WARN] (broccoli-terser-sourcemap) Minifying "assets/browser-detect.js" took: 43325ms (more than 20,000ms). 在这里增加更多交换空间会有帮助,还是我应该只考虑增加内存?
pfaffman
(Jay Pfaffman)
2025 年1 月 22 日 22:37
10
你可以尝试使用 tmux 或 screen,这样你就可以重新连接到会话。
Martim Passos:
增加交换空间会有帮助,还是我应该只考虑增加内存?
我猜你可能没有足够的内存,增加交换空间可能会让你走得更远,但我还是建议你增加内存。也许可以调整它的大小,保持磁盘大小不变,用更多的内存重新构建,然后在虚拟机运行时将其调整为较小的尺寸。
我不知道这在 Lightsail 上是否可能或容易。
你有多少交换空间?
1 个赞
martim
(Martim Passos)
2025 年1 月 23 日 15:55
11
您好,我之前有 2GB 的交换空间。我后来在 Lightsail 中使用了更大的虚拟机,它构建成功了。我认为该服务不支持调整大小。再次感谢您的帮助!
附注:我仍然收到了内存超额分配警告,但没有处理它。我是否应该启用它?
1 个赞
pfaffman
(Jay Pfaffman)
2025 年1 月 23 日 15:58
12
Martim Passos:
我有 2GB 的交换空间。
如果你增加到 4GB,也许就能用了。
我最近没有关注这个问题。我很确定我的工具启用了它,并且错误消息没有消失。大多数人看不到或完全忽略该消息的可能性非常大。您的使用体验可能会有所不同。
1 个赞
Canapin
(Coin-coin le Canapin)
2025 年1 月 23 日 16:11
13
Jay Pfaffman:
绝大多数人看不到或完全忽略该消息的可能性非常大。
我经常看到它,但由于我的安装工作正常,所以我只是忽略它
martim
(Martim Passos)
2025 年1 月 23 日 18:01
14
Jay Pfaffman:
如果你用了4GB,也许就能用了。
我想也是,但我看到
并且认为即使它能用,仍然意味着漫长的构建时间和5美元的安心费。希望我们的社区也能成长到值得这次飞跃
1 个赞
pfaffman
(Jay Pfaffman)
2025 年1 月 23 日 18:08
15
2GB 是派对线路,但构建会占用越来越多的 RAM,因此只有 1GB 我通常会创建更大的交换空间。
Martim Passos:
5 美元是值得的,可以让我安心
这正是我一直想告诉你的,但在世界的一些地方,5 美元比其他地方多得多!
1 个赞
Canapin
(Coin-coin le Canapin)
2025 年1 月 23 日 18:54
17
我仍然无法理解,我会想方设法省下每一分钱来租服务器,而我却乐意为Steam上我不会玩的游戏支付20美元,或者买一份15美元的披萨,明知道它可能并不好吃。
2 个赞
system
(system)
关闭
2025 年2 月 22 日 19:15
19
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.