فشل الإعداد: لا يمكن تخصيص الذاكرة

مرحباً،

أنا جديد على discourse وحاولت تثبيته لأول مرة. المحاولة الأولى لم تنشئ قاعدة البيانات حتى، والمحاولة الثانية بعد (حذف كل شيء والبدء من جديد) تشتكي مرة أخرى:

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

الجهاز هو خادم افتراضي (لا أعرف أي تقنية) مع 4 جيجابايت من ذاكرة الوصول العشوائي و 138 جيجابايت من المساحة الحرة.

لم أتمكن من العثور على أي تلميح مناسب هنا. لذا، هل لديك أي فكرة عن كيفية الإصلاح؟

شكراً مقدماً
رولاند

إعجاب واحد (1)

هل هذا هو الشيء الوحيد الذي يعمل داخل الجهاز الظاهري؟

ما هي نتيجة cat /proc/meminfo | grep MemFree؟

هل اتبعت التثبيت القياسي وقمت بتشغيل discourse-setup؟ يجب أن يقوم بضبط إعدادات الذاكرة لمواصفات الجهاز الظاهري بافتراض أنه يلبي الحد الأدنى من المتطلبات.

ما هي قيم db_shared_buffers و unicorn_workers و db_work_mem في ملف app.yml الخاص بك؟

إعجاب واحد (1)

نعم (باستثناء نص برمجي صغير بلغة Perl).

MemFree: 758840 كيلوبايت

ولكن أكثر من 3 جيجابايت مخصصة للتخزين المؤقت.

الأخير بدون أي تغييرات.

db_shared_buffers: "1024MB"
لا يوجد إدخال لـ unicorn_workers
#db_work_mem: "40MB"
إعجاب واحد (1)

إذا قمت بتغيير db_shared_buffers إلى 512 ميجابايت وأعدت بناء التطبيق:

./launcher rebuild app

يبدو هذا أفضل بكثير الآن.

إعجاب واحد (1)