セットアップ失敗:メモリを割り当てられません

こんにちは。

Discourseは初めてで、インストールを試みています。最初の試みではデータベースが作成されず、すべてを削除して最初からやり直した後の2回目でも、以下のエラーが発生します。

2022-08-04 18:51:53.698 UTC [41] FATAL:  could not map anonymous shared memory: Cannot allocate memory
2022-08-04 18:51:53.698 UTC [41] HINT:  This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently 1125310464 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.

その前に別のエラーが発生しています(関連があるかは不明です)。

I, [2022-08-04T18:51:52.606862 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2022/08/04 18:51:52 socat[18] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory

マシンは仮想サーバー(どのテクノロジーかは不明)で、RAMは4GB、空き容量は138GBです。

ここで適切なヒントを見つけることができませんでした。何か修正方法のアイデアはありますでしょうか?

よろしくお願いします。
Roland

「いいね!」 1

VM内でこれだけが実行されていますか?

cat /proc/meminfo | grep MemFree の結果はどうなりますか?

Standard Installに従い、discourse-setupを実行しましたか?最小要件を満たしている場合、VMの仕様に合わせてメモリ設定が調整されるはずです。

app.ymldb_shared_buffersunicorn_workersdb_work_mem は何ですか?

「いいね!」 1

はい(小さなPerlスクリプトが1つある以外は)。

MemFree: 758840 kB

ただし、3 GB以上はキャッシュ用です。

後者は変更なしで実行しました。

db_shared_buffers: "1024MB"
unicorn_workers のエントリはありません
#db_work_mem: "40MB"
「いいね!」 1

db_shared_buffers を 512 MB に変更し、アプリを再構築した場合:

./launcher rebuild app

これでかなり良くなりました。

「いいね!」 1