لدي مثيل Lightsail مع 2vCPU، 1GB RAM يعمل بنظام Ubuntu 20.04. قمت بتحرير db_shared_memory يدويًا إلى 256 ميجابايت و 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
أي اقتراحات لما يمكنني فعله لحل هذه المشكلة؟ شكراً.
عذرًا، 22.04. لا شيء آخر يعمل عليه. تركته معلقًا لأكثر من ساعة بالتأكيد. أحاول زيادة الـ swap الآن، شكرًا على الاقتراح.
على صعيد آخر، أنا في هذا السيناريو حيث أن جهاز الـ VM الخاص بي لديه أقل من 1 جيجابايت من ذاكرة الوصول العشوائي واضطررت إلى التعليق على فحص الذاكرة. هل هذا هو السبب في أن 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.
إنه مجتمع صغير جدًا في الوقت الحالي ويأتي التمويل من الأوساط الأكاديمية، لذا أبذل قصارى جهدي لإبقائه أقل من 10 دولارات شهريًا. إذا ثبت أنه مستحيل فسوف أقوم بتوسيعه، شكرًا لك!
لست على دراية بـ Lightsail، ولكن مع Hetzner لديك 2 vCPU و 4 جيجابايت من ذاكرة الوصول العشوائي و 40 جيجابايت NVMe مقابل 5 يورو شهريًا. لديهم خوادم في الولايات المتحدة أيضًا.
شكراً على الاقتراحات. أنا مرتبط نوعاً ما بـ AWS بما أن كل شيء آخر لهذا المشروع مستضاف/مدار هناك، ولكني سأفكر بالتأكيد في الانتقال إلى مكان آخر إذا لزم الأمر.
لذلك، أدى زيادة مساحة المبادلة إلى تقدمي أكثر من أي وقت مضى، لكن اتصال SSH الخاص بي انتهت مهلته قبل انتهاء البناء (بعد عدة ساعات من التشغيل).
كان آخر مخرج يمكن التعرف عليه بين ألف Babel: discourse-plugins > applyPatches هو [WARN] (broccoli-terser-sourcemap) Minifying "assets/browser-detect.js" took: 43325ms (more than 20,000ms). هل ستساعد زيادة مساحة المبادلة هنا أم يجب أن أبحث عن المزيد من ذاكرة الوصول العشوائي؟
يمكنك محاولة استخدام tmux أو screen حتى تتمكن من إعادة الاتصال بالجلسة.
أعتقد أنك نفدت من ذاكرة الوصول العشوائي/الذاكرة وقد يؤدي إضافة المزيد من مساحة المبادلة إلى تقدمك، لكنني أوصي مرة أخرى بالحصول على المزيد من ذاكرة الوصول العشوائي. قد يكون من الممكن تغيير حجمها، وترك حجم القرص كما هو، وإعادة البناء مع المزيد من ذاكرة الوصول العشوائي، ثم تغيير حجم الجهاز الظاهري إلى الأصغر بمجرد تشغيله.
لا أعرف ما إذا كان ذلك ممكنًا أو سهلاً مع Lightsail
مرحباً، كان لدي 2 جيجابايت من مساحة التبديل. لقد حصلت على جهاز افتراضي أكبر في Lightsail وتم بناؤه بدون مشكلة. لا أعتقد أن تغيير الحجم للأعلى/للأسفل ممكن مع هذه الخدمة. شكراً مرة أخرى على المساعدة!
ملاحظة: لا تزال أحصل على تحذير تجاوز الذاكرة ولكن لم أفعل شيئًا بشأنه. هل يجب تمكينه على أي حال؟
لم ألتفت إلى ذلك مؤخرًا. أنا متأكد من أن أدواتي تقوم بتفعيله ولا تختفي رسالة الخطأ. من المحتمل جدًا أن معظم الناس لا يرون هذه الرسالة أو يتجاهلونها تمامًا. قد تختلف تجربتك.
2 جيجابايت هو الحد الأقصى للحزب، لكن البناءات تستهلك كميات متزايدة من ذاكرة الوصول العشوائي، لذلك مع 1 جيجابايت فقط سأقوم غالبًا بإنشاء مساحة تبديل أكبر.
هذا ما كنت أحاول إخبارك به، ولكن في بعض أنحاء العالم، يمثل مبلغ 5 دولارات أكثر بكثير مما هو عليه في أجزاء أخرى!
ما زلت لا أستطيع استيعاب حقيقة أنني سأبحث عن كل سنت يمكنني توفيره عند استئجار خادم، بينما سأدفع بكل سرور 20 دولارًا مقابل لعبة لن ألعبها على Steam، أو أشتري بيتزا بقيمة 15 دولارًا مع العلم أنها لن تكون جيدة جدًا.