هل من الممكن جعل معلمة shm_size خيارًا في ملف app.yml؟ لقد واجهت هذا الخطأ اليوم عند محاولة تشغيل أمر vacuum analyze:
ERROR: could not resize shared memory segment
كان يحاول زيادة استخدام الذاكرة المشتركة إلى 1 جيجابايت وفشل، حيث أن الحد الافتراضي هو 512 ميجابايت فقط. يبدو أن هذه المعلمة موجودة في سكريبت التشغيل، ولكن قد يكون من الجيد توفيرها كخيار في ملف .yml (ربما يكون معلقًا بشكل افتراضي).
للأسف، لم ينجح هذا عندما جربته. أعتقد أن الحاوية قد تحتاج إلى إعادة بناء لزيادة حجم مساحة الذاكرة المشتركة؟ اضطررت إلى تغيير القيمة في المناطق المشفرة مسبقًا في برنامج التشغيل، ثم إعادة بناء الحاوية حتى ينعكس التغيير فعليًا.
من المرجح أيضًا أن هذا لن يستمر عبر التحديثات/إعادة البناء - فستحتاج إلى تغييره يدويًا في كل مرة.
كل ما فعلته في البداية هو إيقاف الحاوية، ثم تشغيل أمر بدء المشغل مع ذلك المعلمة. بعد ذلك، قمت بتعديل معلمة --shm-size يدوياً داخل ملف المشغل نفسه وأعدت بناء الحاوية. عندها تم ضبط القيمة بشكل صحيح. إذا قمت بتجاوز المعلمة في سطر الأوامر لإعادة بناء الحاوية، ألا سيفقد التغيير عند إجراء تحديث أو إعادة بناء عبر واجهة /admin/upgrade؟ لهذا السبب اعتقدت أنه قد يكون من الأفضل جعلها حقلاً في ملف app.yml - بحيث ستبقى ثابتة حتى بعد إعادة البناء وتحديثات الكود.
تحذير: نشر بعض الأشخاص أنه يجب عليك التأكد من إيقاف خدمة Docker قبل تعديل ملف hostconfig.json (وإلا فستُستبدل التغييرات). ومع ذلك، لم أختبر هذا فعليًا. ومن الواضح أن حل launcher أفضل