فشلت الترقية من 3.2.0.beta3-dev إلى 3.2.0.beta3 بسبب نفاد الذاكرة

لدي معلومات إضافية في حال ساعدت في تخفيف المشكلة من جانب Discourse. بدأت نسختي (DigitalOcean ~1GB droplet w/ 2GB swap) مؤخرًا تستغرق وقتًا أطول بكثير لإعادة البناء والإبلاغ عن نفس الخطأ القاتل حوالي 3 من كل 4 مرات (يبدو أن الحظ يتحسن بعد تشغيل ./launcher cleanup، لكن ليس لدي حجم عينة كافٍ لتأكيد ذلك).

قبيل خطأ نفاد الذاكرة المؤقتة، تم تسجيل هذه الأسطر:

Node.js heap_size_limit (491.0) is less than 1024MB. Setting --max-old-space-size=1024.
Node.js heap_size_limit (491.0) is less than 2048MB. Disabling Webpack parallelization with JOBS=0 to conserve memory.

أنا خارج نطاق خبرتي هنا، لذا أعتذر إذا أخطأت في شيء ما. يشير بعض البحث السريع إلى أن ember-cli يعتمد على node.js وهذا هو السبب في اعتقادي أن هذا الأمر ذو صلة. يمكن تعيين العلامة --max-old-space-size بشكل محتمل أعلى من ذاكرة الوصول العشوائي (ستنتقل ببساطة إلى مساحة التبديل، والتي كما ذكرنا لا بأس بها في هذه الحالة)، لذلك ربما يكون 1024 سقفًا اصطناعيًا نصطدم به ولا يمكن احتواء عمليات إعادة بناء Discourse بعد الآن.

ملاحظات جانبية: على ما يبدو أن --optimize-for-size هي علامة node.js تساعد في تقليل استخدام الذاكرة (لست متأكدًا مما إذا كان Discourse/ember يستخدمها، ربما يتم استخدامها بالفعل)، وهناك حكاية تفيد بأن جامع القمامة لم يتم تشغيله لبعض استخدامات node.js، مما قد يكون مشكلة.

إذا كان أي من هذا ذا صلة ويمكن التحكم فيه من جانب Discourse لاستخدام ember/node.js، فقد يكون من المفيد لشخص ما النظر فيه. إذا لم يكن كذلك، فلا تقلق، سأقوم بتطبيق حل ترقية 2GB المؤقت المقترح أعلاه. :slight_smile: