إصلاح مشكلة "تعذر تخصيص الذاكرة" أثناء ترقية نظام SLES

يبدو أن ترقية SLES تسير على ما يرام، ثم تظهر رسالة "لا يمكن تخصيص الذاكرة" في نافذة طرفية أو برنامج تثبيت أو سجل ترحيل. لا تُثبت هذه الرسالة وحدها أن الخادم يحتاج إلى ذاكرة وصول عشوائي (RAM) إضافية. قد يكون سبب العطل ضغطًا على الذاكرة، أو حدًا أقصى للآلة الافتراضية أو الخدمة، أو فقدان أو عدم إمكانية استخدام مساحة التبديل، أو بيئة الترقية نفسها. حدد أولًا العملية ومرحلة الترقية التي أنتجت الرسالة؛ فالحل الآمن يعتمد على هذه التفاصيل.

يُعدّ الإصدار مهمًا. اعتبارًا من أكتوبر 2026، يصف دليل ترقية الإصدار الرئيسي SLES 16.0 من SUSE نظام ترحيل توزيعة يُشغّل صورة ترقية مباشرة مخصصة، بينما تستخدم عمليات ترحيل حزم الخدمة SLES 15 آلية YaST أو Zypper المُعتمدة. لا تُطبّق أي إصلاح مُخصّص لترحيل حزم الخدمة عبر الإنترنت على ترقية إصدار رئيسي دون مراجعة إجراءات إصدارك. تُوثّق SUSE مسار SLES 16 الحالي في دليل ترقية SLES 16 الخاص بها .

1. حدد المرحلة الفاشلة قبل تغيير أي شيء

سجّل الخطأ كاملاً، والطابع الزمني، والأمر أو الشاشة التي ظهر فيها، وما إذا كان النظام قد أُعيد تشغيله إلى صورة تثبيت أو صورة ترحيل. يُعدّ خطأ "لا يمكن تخصيص الذاكرة" خطأً عامًا في نظام التشغيل، لذا فإن الأسطر المحيطة به غالبًا ما تكون أكثر فائدة من الرسالة وحدها.

  • قبل بدء عملية تثبيت الحزمة: قد تفشل عملية التسجيل أو المستودع أو إعداد الترحيل أو التثبيت. تحقق من ذاكرة النظام والعمليات، ثم راجع سجل الخدمة أو سجل الترحيل ذي الصلة.
  • أثناء تثبيت الحزم أو إزالتها: قد يكون كل من Zypper وRPM قد أجريا تغييرات على النظام. لا تقم بإنهاء العملية، أو إعادة تشغيل الجهاز، أو تشغيل مدير حزم آخر لمجرد أن التقدم يبدو بطيئًا. راجع وحدة التحكم والسجلات، واترك عملية الترحيل المدعومة حتى تنتهي أو تصل إلى حالة فشل واضحة.
  • بعد إعادة التشغيل إلى صورة الترقية: قد تعمل العملية ببيئة موارد مختلفة عن نظام التشغيل الأصلي. وجود مساحة تبديل مرئية قبل إعادة التشغيل لا يُعد دليلاً على أن صورة الترقية قادرة على استخدامها.

تُهيئ عملية ترحيل SLES 16 من SUSE بيئة الترحيل، وتُركّب أنظمة الملفات، وتُهيئ الشبكة، وتُجهز Zypper، وتُحدّث الحزم، وتُحدّث مُحمّل الإقلاع، ثم تُعيد تشغيل النظام. يُشير الدليل إلى أن أي خطأ قبل بدء الترقية يُعيد النظام إلى حالته الأصلية؛ وهذا لا يعني أن كل خطأ أثناء استبدال الحزم غير ضار. احتفظ بسجلات النظام وتجنّب خطوات الاستعادة اليدوية حتى تتأكد من المرحلة التي فشلت.

2. تحقق من ذاكرة الوصول العشوائي (RAM) وذاكرة التبديل ورسائل النواة الأخيرة

إذا كان نظام SLES الأصلي لا يزال قيد التشغيل، أو إذا وصلت إلى واجهة استعادة النظام، فابدأ بفحوصات القراءة فقط:

free -h
swapon --show
vmstat 1 5
ps -eo pid,comm,rss,%mem --sort=-rss | head -n 15

free -hيلخص هذا الأمر الذاكرة ومساحة التبديل. ركز على الذاكرة المتاحة ومساحة التبديل المستخدمة، وليس فقط على عمود "المساحة الحرة": يستخدم نظام لينكس ذاكرة الوصول العشوائي (RAM) الخاملة للتخزين المؤقت. vmstatيساعد هذا الأمر في معرفة ما إذا كان الجهاز يقوم بالتبديل بين الصفحات بشكل مستمر. يمكن أن تكشف قائمة العمليات عن قاعدة بيانات أو خدمة جافا أو عملية نسخ احتياطي أو أي عبء عمل آخر يستهلك الذاكرة أثناء الترقية.

ابحث عن سجلات نفاد الذاكرة في النواة (Kernel OOM) في وقت حدوث الخطأ:

sudo journalctl -k --since "30 minutes ago" |
  grep -i -E 'out of memory|oom|killed process'

إذا حدث الخطأ سابقًا، فغيّر النطاق الزمني. تُعدّ رسالة النواة التي تُشير إلى عملية مُلغاة دليلًا على نفاد الذاكرة؛ وعدم وجود سطر مطابق لا ينفي جميع حالات فشل التخصيص. إذا كانت الترقية تتم في بيئة تشغيل منفصلة، ​​فافحص سجلات تلك البيئة عند توفرها بدلًا من الاعتماد فقط على سجل النظام القديم.

تحقق أيضًا مما إذا كانت الآلة الافتراضية أو الحاوية أو وحدة systemd تحتوي على حد أقصى للذاكرة. قد يمتلك النظام الضيف ذاكرة متاحة على المضيف ولكنه قد يصل إلى الحد الأقصى المُحدد له. في نظام SLES 16، تُوثّق SUSE مجموعات التحكم cgroups v2 باعتبارها التسلسل الهرمي الافتراضي للتحكم في الموارد، وتوضح أن systemd يمكنه تطبيق حدود الموارد. راجع MemoryMaxإعدادات تكوين الآلة الافتراضية أو الخدمة ذات الصلة بدلاً من رفع حدود النواة العامة بشكل عشوائي. راجع دليل مجموعات التحكم في نواة SLES 16 من SUSE .

3. قلل من استخدام الذاكرة المتنافسة، وأعد المحاولة فقط عند نقطة آمنة.

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

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

إذا استمرت الرسالة رغم توفر ذاكرة وصول عشوائي (RAM) كافية على الجهاز وعدم وجود سجل نفاد الذاكرة (OOM)، فابحث عن حدود العمليات. بالنسبة للعمليات التي لا تزال قيد التشغيل، افحصها /proc/PID/limitsباستخدام معرّف العملية الفعلي. أما بالنسبة لأداة مساعدة الترقية المُدارة بواسطة systemd، فافحص إعدادات موارد الوحدة. قد يُقيّد حدٌّ ما عمليةً واحدةً حتى عندما يكون لدى المضيف ذاكرة حرة. غيّر الحدّ فقط إذا كنت تستطيع تحديد الإعداد المُناسب وفهم تأثيره.

بعد معالجة القيد المحدد، استأنف أو حاول مرة أخرى فقط من خلال طريقة الترقية المدعومة لإصدار SLES الخاص بك ومسار الترقية المحدد. بالنسبة لترحيل حزمة الخدمة إلى SLES 15، استخدم سير عمل الترحيل الموثق في YaST أو Zypper. أما بالنسبة لترحيل الإصدار الرئيسي إلى SLES 16، فاتبع إجراء ترحيل توزيعة SLES 16. يشرح دليل SUSE SLES 15 SP7 سير عمل حزمة الخدمة ومتطلبات التراجع المدعومة في وثائق الترقية المتاحة عبر الإنترنت .

4. فكّر في عملية الاستبدال بعناية؛ لا تستخدمها كحلٍّ عشوائي.

يمكن أن توفر مساحة تبديل إضافية للنظام مساحة أكبر للذاكرة الافتراضية عندما يمكن لحجم العمل نقل البيانات إلى الذاكرة، لكنها أبطأ بكثير من ذاكرة الوصول العشوائي (RAM). إذا كان الجهاز يستخدم التبديل بكثافة بالفعل، فإن إضافة المزيد من مساحة التبديل قد تجعل الترقية بطيئة للغاية دون حل مشكلة صغر حجم الجهاز الافتراضي أو حد العملية المعزولة. تأكد أولاً من وجود مساحة التبديل وما إذا كانت تُستخدم مع swapon --showالذاكرة الافتراضية free -h.

استخدم إجراءات SUSE الخاصة بإصدار SLES ونظام الملفات لديك إذا كنت بحاجة إلى إضافة مساحة تبديل. توخَّ الحذر الشديد عند استخدام Btrfs: تُوثِّق SUSE قيودًا على ملفات التبديل في Btrfs، وتُشير إلى أنه لا يُمكن إنشاء لقطة أثناء تفعيل ملف تبديل في وحدة التخزين الفرعية المصدر. نظرًا لأن SLES يعتمد عادةً على لقطات Snapper لاستعادة النظام، فلا تُنشئ ملف تبديل عامًا وتُفعِّله على وحدة التخزين الفرعية الجذرية التي تم أخذ لقطة منها أثناء فترة الترقية. يُفضَّل إضافة ذاكرة وصول عشوائي (RAM) أو استخدام قسم تبديل مُهيَّأ بشكل صحيح أو موقع مدعوم بعد التحقق من تخطيط التخزين وخطة الاستعادة. تجد التفاصيل الخاصة بنظام الملفات في دليل تخزين SUSE SLES 15 SP7 .

لا تقم بتغيير الإعدادات vm.overcommit_memory، أو تعطيل أداة إنهاء العمليات بسبب نفاد الذاكرة، أو تشغيل أي أمر تنظيف عشوائي كإجراء أولي. قد تُخفي هذه التغييرات الأعراض، أو تُزعزع استقرار أحمال العمل، أو تُصعّب عملية الاستعادة. اجمع الأدلة أولًا، واستخدم الإرشادات الخاصة بالإعدادات من SUSE أو مُورّد تطبيقك إذا أشارت السجلات إلى تكوين ذاكرة مُخصّص.

5. استعادة النظام إذا توقف التحديث بعد بدء تغييرات الحزمة

قبل إعادة تشغيل الترقية، تأكد من أن مدير الحزم لا يزال نشطًا وأن أداة الترحيل قد أبلغت عن فشل نهائي. إذا توقفت الترقية بعد بدء تغييرات الحزم، فاحفظ سجل الإخراج الكامل وراجع وثائق الاسترداد الخاصة بالإصدار. لا تُشغّل zypper dupأوامر zypper migrationYaST migration وRPM في الوقت نفسه.

في نظام SLES 15 SP7، توثق SUSE إمكانية التراجع عن حزمة الخدمة عند استخدام نظام الملفات Btrfs مع تفعيل لقطات Snapper. تتطلب عملية التراجع تحديد لقطة ما قبل الترحيل واختبارها، ثم جعل التراجع دائمًا؛ وهي ليست حلاً شاملاً لجميع أخطاء الترقية. يتبع ترحيل الإصدار الرئيسي في SLES 16 آلية عمل مختلفة، لذا يُرجى استخدام تعليمات الترقية والاستعادة الحالية بدلاً من افتراض انطباق إجراءات SLES 15. إذا كان النظام بالغ الأهمية للعمل، أو لم يكن لديه نسخة احتياطية مُختبرة، أو فشل الترحيل أثناء استبدال الحزمة، فيُرجى فتح حالة دعم لدى SUSE قبل محاولة إصلاح الحزم يدويًا.

6. تحقق من النظام قبل استئناف الخدمة العادية

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

cat /etc/os-release
sudo SUSEConnect --status
sudo zypper verify
free -h
swapon --show

استخدم أمر التحقق من الحزم المدعوم من إصدار SLES الخاص بك؛ إذا zypper verifyلم يكن متاحًا أو كان أداؤه مختلفًا في إصدارك، فراجع zypper helpدليل إدارة الإصدار. تحقق من سجلات التطبيقات والنواة بحثًا عن أخطاء جديدة، وتأكد من سلامة الخدمات المقصودة، وراقب الذاكرة ومساحة التبديل أثناء عودة الحمل. تحقق من تثبيت هدف الترقية المدعوم وأن تسجيل الخادم ومستودعاته في الحالة المتوقعة قبل إغلاق نافذة الصيانة.

لا يقتصر الإصلاح الناجح على اختفاء رسالة الخطأ فحسب، بل يشمل أيضًا إتمام عملية ترحيل SLES باستخدام مسار مدعوم، وتشغيل الجهاز بالإصدار المتوقع، وفحص الحزم والتسجيل، وتشغيل أحمال العمل العادية دون تكرار أحداث نفاد الذاكرة. إذا ظهرت رسالة "لا يمكن تخصيص الذاكرة" رغم انخفاض ضغط الذاكرة، وتوفر مساحة تبديل كافية، وعدم وجود حد أقصى للموارد، فاحتفظ بسجلات النظام وتفاصيل العملية بدقة، فهذه الأدلة تميز بين خلل الترقية ومشكلة السعة.

اترك تعليقاً

إصلاح مشكلة تمزق الشاشة على معالجات رسومات Intel في نظام Pardus Linux: دليل عملي يركز على النتائج

إصلاح مشكلة تمزق الشاشة على معالجات رسومات Intel في نظام Pardus Linux: دليل عملي يركز على النتائج

قم بإصلاح مشكلة تمزق الشاشة في معالجات رسومات Intel في نظام Pardus Linux عن طريق التحقق من X11 مقابل Wayland، وإعدادات المُركِّب، ومعدل التحديث، وبرنامج تشغيل Xorg النشط، وTearFree فقط عند الاقتضاء.

كيفية تكوين جدار الحماية SLES 15 باستخدام firewall-cmd

كيفية تكوين جدار الحماية SLES 15 باستخدام firewall-cmd

قم بتكوين firewalld على SLES 15: تحقق من المناطق، واسمح بالخدمات أو المنافذ، واحفظ القواعد الدائمة، وأعد التحميل بأمان، وتحقق من الوصول.

دليل تهيئة التحديث المباشر لنظام SLES: تطبيق تحديثات النواة بدون إعادة تشغيل النظام

دليل تهيئة التحديث المباشر لنظام SLES: تطبيق تحديثات النواة بدون إعادة تشغيل النظام

قم بتمكين التصحيح المباشر للنواة على SLES 15 SP7، وقم بتطبيق الإصلاحات المدعومة دون إعادة التشغيل، وتحقق من التصحيحات النشطة، وافهم متى لا تزال إعادة تشغيل النواة مطلوبة.

كيفية تفعيل وضع FIPS على خادم SUSE Linux Enterprise Server 15

كيفية تفعيل وضع FIPS على خادم SUSE Linux Enterprise Server 15

قم بتمكين وضع FIPS على SLES 15 باستخدام أداة الإعداد المدعومة من SUSE، وأعد التشغيل بأمان، وتحقق من حالة سياسة النواة والتشفير، وتحقق من حدود الشهادة.

كيفية تثبيت جوجل كروم على نظام التشغيل جوجل روم دون الإخلال بسياسات الأمان

كيفية تثبيت جوجل كروم على نظام التشغيل جوجل روم دون الإخلال بسياسات الأمان

قم بتثبيت متصفح جوجل كروم على نظام التشغيل Gooroom OS بأمان باستخدام حزم .deb الرسمية، وAPT، وفحوصات السياسات، وإرشادات التحديث، وإصلاحات الأجهزة المُدارة.

كيفية تصدير سجلات نظام SLES إلى خادم Syslog بعيد بشكل آمن

كيفية تصدير سجلات نظام SLES إلى خادم Syslog بعيد بشكل آمن

إعادة توجيه سجلات نظام SLES بشكل آمن إلى خادم syslog بعيد باستخدام rsyslog وشهادات TLS والتحقق من اسم النظير وقوائم الانتظار والتحقق من الصحة والاختبار.

تكامل Active Directory مع SSSD في SLES 15: دليل خطوة بخطوة

تكامل Active Directory مع SSSD في SLES 15: دليل خطوة بخطوة

قم بربط نظام SLES 15 بـ Active Directory باستخدام SSSD عبر YaST. قم بإعداد DNS والوقت، وتكوين تسجيلات دخول المجال، والتحقق من Kerberos، ومقارنة SSSD وWinbind وrealmd.

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix RTL8821CE Wi-Fi on Pardus Linux by checking the built-in rtw88 driver, Realtek firmware, rfkill, NetworkManager, and safe fallback options.

إصلاح مشكلة "فشل مؤقت في حل أسماء النطاقات" في دبيان 12 باستخدام systemd-resolved

إصلاح مشكلة "فشل مؤقت في حل أسماء النطاقات" في دبيان 12 باستخدام systemd-resolved

تشخيص وإصلاح حالات فشل تحليل DNS في Debian 12 باستخدام systemd-resolved، بما في ذلك resolv.conf و NetworkManager و networkd و cache و verification.

كيفية تثبيت نظامي التشغيل Pardus Linux وWindows 11 بأمان

كيفية تثبيت نظامي التشغيل Pardus Linux وWindows 11 بأمان

قم بتثبيت Pardus 25.2 بجانب Windows 11 عن طريق النسخ الاحتياطي، وتقليص حجم وحدة تخزين Windows، والتمهيد من USB UEFI، وحماية أقسام EFI والاسترداد الحالية.