Skip to content

الذاكرة

في هذه الوثيقة يمكنك التعرف على كيفية تصحيح المشكلات المتعلقة بالذاكرة.

العملية الخاصة بي تنفد من الذاكرة

Node.js (JavaScript) هي لغة يتم جمع البيانات المهملة فيها تلقائيًا، لذا فإن وجود تسربات الذاكرة أمر ممكن من خلال المحتفظات. نظرًا لأن تطبيقات Node.js عادةً ما تكون متعددة المستأجرين وذات أهمية بالغة للأعمال وتعمل لفترة طويلة، فإن توفير طريقة سهلة الوصول وفعالة للعثور على تسرب الذاكرة أمر ضروري.

الأعراض

يلاحظ المستخدم زيادة مستمرة في استخدام الذاكرة (يمكن أن يكون سريعًا أو بطيئًا، على مدار أيام أو حتى أسابيع) ثم يرى العملية تنهار وإعادة التشغيل بواسطة مدير العمليات. ربما تكون العملية تعمل بشكل أبطأ من ذي قبل وتتسبب عمليات إعادة التشغيل في فشل بعض الطلبات (يستجيب موازن التحميل بـ 502).

الآثار الجانبية

  • إعادة تشغيل العملية بسبب استنفاد الذاكرة وإسقاط الطلبات على الأرض
  • تؤدي زيادة نشاط GC إلى زيادة استخدام وحدة المعالجة المركزية وإبطاء وقت الاستجابة
    • GC تحظر حلقة الأحداث مما يتسبب في البطء
  • تؤدي زيادة تبديل الذاكرة إلى إبطاء العملية (نشاط GC)
  • قد لا يكون لديك ذاكرة كافية للحصول على لقطة كومة

عمليتي تستخدم الذاكرة بشكل غير فعال

الأعراض

يستخدم التطبيق كمية غير متوقعة من الذاكرة و/أو نلاحظ زيادة في نشاط جامع البيانات المهملة.

الآثار الجانبية

  • عدد مرتفع من أخطاء الصفحة
  • زيادة نشاط GC واستخدام وحدة المعالجة المركزية