Lightsailでビルドが完了しない

こんにちは。Rebuild app has stuckBackground saving terminated with success の問題と同じように見えますが、ビルドプロセスを何度も、再起動したりしなかったりして試しました。

Ubuntu 20.04 を実行している Lightsail インスタンス (2vCPU、1GB RAM) があります。他の議論に基づき、db_shared_memory を 256MB に、Unicorns を 4 に手動で編集しました。discourse-setupdiscourse-doctorlauncher 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

解決するために他にできることはありますか?よろしくお願いします。

スワップはどのくらいありますか? 3GBまたは4GBに増やすことをお勧めします。

そのプロンプトでどのくらい放置しましたか?

1GBでは少ないですが、そのVMでは他に何か実行されていますか?

問題ではありませんが、なぜ20.04なのですか? EOLは4ヶ月後です。

「いいね!」 4

申し訳ありません、22.04です。他に何も実行していません。確実に1時間以上放置しました。スワップを増やそうとしています。提案ありがとうございます。

ちなみに、RAMが1GB未満のVMで、メモリチェックをコメントアウトする必要がありました。これが 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.

メモリをGBに変換する方法やCPUコアのカウント方法が何らかの理由で間違っている可能性があります。

1GBは最近では本当に厳しいです。2GBを強くお勧めします。

「いいね!」 2

今のところ非常に小規模なコミュニティで、資金は学術界から提供されているため、月額10ドル未満に抑えるよう最善を尽くしています。不可能な場合はスケールアップします。ありがとうございます!

「いいね!」 2

10ドル未満のものがたくさんあります

「いいね!」 4

Lightsailについては詳しくありませんが、Hetznerでは月額5ユーロで2 vCPU、4 GB RAM、40 GB NVMeを利用できます。米国にもサーバーがあります。

「いいね!」 3

提案ありがとうございます。このプロジェクトの他のすべてがそこでホスト/管理されているため、AWSに多少縛られていますが、そうなった場合は間違いなく他の場所への移行を検討します。

「いいね!」 3

スワップを増やしたところ、これまでで最も進みましたが、ビルドが完了する前にSSH接続がタイムアウトしました(数時間実行後)。

数千の Babel: discourse-plugins > applyPatches の間の最後の識別可能な出力は [WARN] (broccoli-terser-sourcemap) Minifying "assets/browser-detect.js" took: 43325ms (more than 20,000ms) でした。ここにさらにスワップを追加することで解決するか、それともRAMを増やすことを検討すべきでしょうか?

セッションに再接続できるように、tmuxまたはscreenを使用してみてください。

RAM/メモリが不足したのだと思います。スワップを増やすことでさらに進むかもしれませんが、RAMを増やすことをお勧めします。実行中のVMをより多くのRAMで再構築し、その後、より小さなVMにリサイズしてから、ディスクサイズは同じままにしてリサイズすることが可能かもしれません。

Lightsailでそれが可能か、または簡単かはわかりません。

スワップはいくつありますか?

「いいね!」 1

こんにちは。スワップを2GB使用していました。Lightsailでより大きなVMを用意したところ、問題なく構築できました。このサービスでは、サイズ変更はできないようです。改めて、ご協力ありがとうございました。

追伸:メモリのオーバーコミットに関する警告は依然として表示されていましたが、そのままにしておきました。それでも有効にすべきでしょうか?

「いいね!」 1

4GBにしていれば機能したかもしれません。

最近はあまり気にかけていません。私のツールがそれを有効にしていると確信しており、エラーメッセージは消えません。ほとんどの人がそのメッセージに気づかないか、完全に無視している可能性が高いです。結果は異なる場合があります。

「いいね!」 1

私はそれを定期的に見ますが、インストールが機能するので、無視しています :smile:

そうかもしれませんが、私はこれを見ました

そして、たとえうまくいったとしても、それでも構築に非常に長い時間がかかり、$5は安心のために価値があると考えました。私たちのコミュニティも成長して、その飛躍を正当化してくれることを願っています :slight_smile:

「いいね!」 1

2GBはパーティションですが、ビルドはますます多くのRAMを消費するため、1GBしかない場合はスワップを大きく作成することがよくあります。

それがずっと言おうとしていたことですが、世界の地域によっては、他の地域よりも$5ははるかに大きな意味を持つということです! :wink:

「いいね!」 1

ヒントをいただきました!

「いいね!」 1

サーバーを借りる際に1セントでも節約しようとするのに、Steamでプレイしないゲームに20ドルを喜んで払ったり、あまり美味しくないだろうとわかっているピザに15ドルも払ったりするなんて、まだ信じられないよ。:lolsob:

「いいね!」 2

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