حلّ المجتمع

ملفات ZimaOS تستهلك قدرًا كبيرًا من ذاكرة RAM: إصلاح نفاد الذاكرة وحلقة إعادة التشغيل

A 1.6.2 system entered a 9–10 minute reboot loop after a 749,000-file copy as IceWhale file services consumed roughly 6GB RAM; masking them stabilized the host.

إذا دخل ZimaOS 1.6.2 في حلقة إعادة تشغيل بعد عملية ملفات ضخمة، واستهلكت icewhale-files أو icewhale-files-backup عدة جيجابايت من ذاكرة RAM، فحدّث إلى ZimaOS 1.7.1 أو إصدار أحدث قبل تطبيق عمليات حجب دائمة للخدمات. أصلح ZimaOS 1.7.1 رسميًا الاستخدام غير الطبيعي للذاكرة في بعض سيناريوهات عمليات الملفات.

لا يزال التقرير المصدر مفيدًا لأنه يوثق سلسلة الأعطال بوضوح: نُسخت نحو 749,000 ملف، وارتفع استهلاك خدمات الملفات إلى نحو 6 جيجابايت مجتمعةً على جهاز بذاكرة RAM سعتها 7.5 جيجابايت، وبلغت مساحة التبديل نحو 100%، ثم أعيد تشغيل الخادم كل 9–10 دقائق. أدى حجب الخدمات إلى إيقاف الحلقة، لكنه عطّل أيضًا تطبيق Files على الويب وخدمة النسخ الاحتياطي.

التعرف على نمط استنزاف الذاكرة

تشمل المؤشرات المعتادة ما يلي:

  • استهلاك ذاكرة RAM يكاد يكون كاملًا؛
  • اقتراب مساحة التبديل من الامتلاء؛
  • icewhale-files من بين أعلى العمليات استهلاكًا للذاكرة؛
  • انتظار مرتفع جدًا للإدخال والإخراج أو حالات تعطل ظاهرة للنظام؛
  • عمليات إعادة تشغيل متكررة شبيهة بإعادة تشغيل المراقب بعد عمليات تتضمن عددًا كبيرًا من الملفات.

الخطوة 1: التحديث إلى ZimaOS 1.7.1 أو إصدار أحدث

تذكر ملاحظات الإصدار الرسمية لـ ZimaOS 1.7.1 صراحةً إصلاحًا للاستخدام غير الطبيعي للذاكرة في سيناريوهات عمليات الملفات.

هذا هو الإصلاح الحالي الأساسي. لا ينبغي أن يكون الحل البديل لنظام 1.6.2 إعدادك المعتاد في عام 2026.

الخطوة 2: قياس ذاكرة RAM ومساحة التبديل

free -h
ps aux --sort=-%mem | head
swapon --show

تأكد من أن خدمات الملفات مسؤولة فعلًا قبل تعطيل أي شيء.

الخطوة 3: التحقق من عمليات إعادة التشغيل الأخيرة

journalctl --list-boots

يمكن أن يساعد الفاصل الزمني المتكرر في التمييز بين سلوك المراقب وإعادة الضبط وفقدان الطاقة العشوائي.

إيقاف طارئ على نظام 1.6.2 قديم

إذا تعذر إبقاء الخادم قيد التشغيل لمدة تكفي لإجراء التحديث، فقد ثبّت المستخدم المصدر استقراره باستخدام:

sudo systemctl stop icewhale-files.service icewhale-files-backup.service
sudo systemctl mask icewhale-files.service icewhale-files-backup.service

هذه حيلة استرداد طارئة. فهي تعطل وظائف أصلية مهمة. بعد التحديث، أزل الحجب واختبر الخدمات الحالية بشكل طبيعي.

إلغاء الحجب بعد الاسترداد

sudo systemctl unmask icewhale-files.service icewhale-files-backup.service
sudo systemctl start icewhale-files.service icewhale-files-backup.service

نفّذ ذلك فقط بعد أن يعمل النظام على إصدار مُصلح/حالي، وبعد أن تتوفر لديك استقرارية كافية لمراقبة سلوك الذاكرة.

عدد الملفات الكبير يختلف عن حجم الملف الكبير

يمكن لـ749,000 ملف صغير أن يفرض ضغطًا على البيانات الوصفية والفهرسة يفوقه ملف فيديو واحد بحجم 67GB بكثير. عند إعادة إنتاج المشكلة أو الإبلاغ عنها، أدرج إجمالي البايتات وعدد الملفات معًا.

NTFS/FUSE والعديد من الحاويات تزيد الضغط

كان الجهاز المصدر يشغّل أيضًا نحو 38 حاوية وعدة وحدات تخزين بنظام NTFS عبر ntfs-3g. هذه الشروط سياقية وليست أسبابًا مثبتة. تجنّب تحويلها إلى السبب الجذري عندما كان نمو الذاكرة الملحوظ في خدمات ملفات IceWhale.

لا تضف MemoryMax عشوائيًا كأول حل حالي

اقترح كاتب المصدر استخدام systemd MemoryMax= كتحسين للمنتج. في إصدار حالي، يمكن أن يؤدي تقييد الخدمة اصطناعيًا إلى إنشاء أعطال جديدة في الفهرسة أو النسخ الاحتياطي إذا كان عبء العمل يحتاج إلى الذاكرة فعليًا.

حدّث أولًا، ثم قِس. لا تفرض حدودًا على الخدمات إلا عندما تفهم المفاضلة.

أبقِ AppData بعيدًا عن محرك النظام الصغير

يمكن أن يؤدي اضطراب الذاكرة إلى عمليات إدخال/إخراج مؤقتة كثيفة. ويوصي دليل تخزين تطبيقات ZimaOS الحالي بنقل AppData إلى وحدة التخزين الرئيسية.

يوفر دليل استكشاف أخطاء الأداء وإصلاحها قائمة تحقق أوسع للموارد.

الأسئلة الشائعة

هل أصلح ZimaOS 1.7.1 خطأ الذاكرة هذا؟

لقد أصلح رسميًا الاستخدام غير الطبيعي للذاكرة في سيناريوهات معينة لعمليات الملفات، وهو ما يتطابق مباشرةً مع نمط العطل الأصلي.

هل ينبغي أن أخفي icewhale-files بشكل دائم؟

لا. كان إخفاء الخدمة حلًا طارئًا يعطّل وظائف الملفات والنسخ الاحتياطي.

لماذا جعلت ذاكرة التبديل الخادم أسوأ؟

عند استنفاد ذاكرة RAM، يمكن أن يتسبب الترحيل المكثف في عمليات إدخال/إخراج كثيفة على القرص وتوقفات طويلة، لا سيما أثناء قيام خدمات الملفات بمسح أعداد هائلة من الملفات أو نسخها.

ما الأدلة التي ينبغي أن أجمعها إذا استمرت المشكلة؟

إصدار ZimaOS، وعدد الملفات، وحجم النقل، وحالة ذاكرة RAM/التبديل، والعمليات الأكثر استهلاكًا للذاكرة، وأنواع نقاط التحميل/أنظمة الملفات، والطوابع الزمنية للإقلاع وإعادة التشغيل.