منذ أن جربت إضافات الذكاء الاصطناعي (ثم أزلتها مرة أخرى)، يتجمد جهازي تمامًا أثناء /admin/upgrade.
ليس في كل مرة ولكن في حوالي 80٪ من الوقت.
عادةً ما يتجمد مثيل EC2 بالكامل وأضطر إلى إعادة تشغيل قسري من خلال واجهة الويب الخاصة بـ AWS EC2.
اليوم يتجمد مرة أخرى. لمفاجأتي، لا يتجمد تمامًا. عند فتح عنوان URL الجذر، يظهر الآن:
عفوًا
واجه البرنامج الذي يدعم منتدى المناقشة هذا مشكلة غير متوقعة. نعتذر عن الإزعاج.
تم تسجيل معلومات مفصلة حول الخطأ، وتم إنشاء إشعار تلقائي. سنلقي نظرة عليه.
لا يلزم اتخاذ أي إجراء آخر. ومع ذلك، إذا استمرت حالة الخطأ، يمكنك تقديم تفاصيل إضافية، بما في ذلك خطوات لتكرار الخطأ، عن طريق نشر موضوع مناقشة في فئة ملاحظات الموقع.
سأحاول الآن إعادة تشغيله مرة أخرى وأقوم بإجراء الأمر المعتاد sudo ./launcher rebuild app الذي أصلحه حتى الآن. دعنا نأمل أن يفعل ذلك اليوم مرة أخرى.
سؤالي
هل يمكن لأي شخص أن يعطيني بعض التلميحات حول أين يمكنني إلقاء نظرة على ملفات السجل أو أشياء من هذا القبيل للحصول على رسالة خطأ على الأقل حول سبب حدوث التجمد؟
أنا أستخدم AWS EC2 “t2.medium” مع 2 vCPUs و 4 جيجابايت من ذاكرة الوصول العشوائي.
القرص الصلب هو 100 جيجابايت مع 60 جيجابايت من المساحة الخالية.
إذا كان ذلك يساعد، يمكنني ترقية “t2.medium” إلى نوع مثيل أكبر.
أنا فقط مرتبك لأن هذه الإعدادات كانت تعمل بشكل جيد (لسنوات) قبل اختباري للمكون الإضافي الرسمي للذكاء الاصطناعي وفقط منذ إزالته تحدث هذه التعليقات أثناء الترقية.
شيء آخر قد تغير: إصدار البرنامج الذي تقوم بالترقية إليه. لقد أصبح يستهلك المزيد من الذاكرة مؤخرًا. لذلك أعتقد أنه يمكن أن يكون أيًا منهما.
ترقية مؤقتة وقابلة للعكس إلى نسخة تحتوي على ذاكرة وصول عشوائي (RAM) أكبر هي على الأرجح أسهل طريقة لاختبار ما إذا كان نقص الذاكرة هو المشكلة، على الرغم من أنها تتطلب إعادة تشغيل. الطريقة الأخرى هي إضافة مساحة تبديل (swap)، وهي أيضًا قابلة للعكس.
هذا خارج الموضوع قليلاً، لكنني أود حقًا أن أفهم. لماذا استخدم التبديل، الذي استهلك 200 ميجابايت، المساعدة عندما كان هناك 2 جيجابايت من ذاكرة الوصول العشوائي المجانية؟
(أتفهم أن النظام الدولي للوحدات يمكن أن يكون مربكًا في عالم البوصة لأنه يستخدم مقياس 10، ولكن لماذا بحق الجحيم Mi؟ يمكنني أن أفهم نوعًا ما Gi إذا كان اختصارًا لـ giga، ولكن هل يجب أن يكون mega ثم Me؟)
أعتقد أن المشكلة الأصلية كانت على الأرجح عملية يتم إنهاؤها لأن الجهاز كان ينفد من الذاكرة (احذر من قاتل OOM). إضافة المبادلة تعني أن الذاكرة لم تستنفد. قد لا تخبرنا هاتان المخرجات المجانية بالقصة بأكملها، إلا إذا تم أخذها بعناية فائقة في لحظة أقصى ضغط للجهاز. أعتقد أن ذروة استخدام المبادلة هي الشيقة.
ولكن هناك أيضًا مسألة ضبط نواة النظام كما هو مذكور في تكوين نشر Discourse الرأي لـ MKJ
والتي قمت بتعيينها بشكل صحيح، ولكن ربما لم يقم الكثير من الأشخاص بتعيينها بشكل صحيح.
تجدر الإشارة إلى أن تجاوز الذاكرة لا علاقة له بـ Redis. إنه فقط أن Redis لطيف بما يكفي للإشارة إلى أنه يجب تعيينه بشكل صحيح.
إذًا 4 جيجابايت على الحافة وقت البناء، إذا افترضنا أن آخر لقطة شاشة تظهر اللحظة الأكثر إرهاقًا.
وهذا شيء آخر لا أفهمه: لماذا يعاني الآخرون من نقص الذاكرة بينما أنا، الذي أستخدم الكثير من الإضافات والمكونات، لم أواجه أي مشاكل ما الذي يحدث هذا الفرق؟
وقد استخدمت واجهت لأنني الآن لدي 8 جيجابايت بسبب الذكاء الاصطناعي (وبالنسبة لي لم يكن فرق السعر مهمًا جدًا، ولكن هذه قصة أخرى).
هل يجب أن ينتقل هذا الموضوع إلى مكان آخر أم أننا نرى هذا كتفسير لماذا ساعد استخدام التبديل؟
على أي حال. بالنسبة للمبتدئين الآخرين، هذا مثال واحد حيث يتم الحديث قليلاً عن نقص الذاكرة وأسباب ذلك:
هذا سؤال متكرر بقوة عند فشل الترقية. ولكن السبب نادرًا ما يتم شرحه.
شكراً @uwe_keim - سأفترض أن هذه التعديلات على النواة هي السبب في حاجتك لإضافة مساحة تبديل، على الرغم من أنها لم تبدو مستخدمة. (وينطبق الشيء نفسه إذا كنت بحاجة إلى إضافة الكثير من ذاكرة الوصول العشوائي، لأن إجمالي الذاكرة المتاحة هو ذاكرة الوصول العشوائي + مساحة التبديل.)