حل مشكلة نفاد ذاكرة خادم مستندات ONLYOFFICE على خادم افتراضي خاص (VPS)

ابدأ بالتحقق مما إذا كان نظام التشغيل المضيف (Linux) أو حاوية ONLYOFFICE قد وصلا إلى الحد الأقصى للذاكرة. تشير إرشادات الإصدار المجتمعي الحالي من ONLYOFFICE Docs إلى أن 4 جيجابايت من ذاكرة الوصول العشوائي (RAM) و4 جيجابايت على الأقل من مساحة التبديل (swap) هي المتطلبات الأساسية. وتوضح صفحة استكشاف أخطاء Docker وإصلاحها أن استخدام 2-4 جيجابايت من ذاكرة الوصول العشوائي (RAM) قد يكون طبيعيًا لبضع عشرات من المستخدمين النشطين، لأن استخدام الذاكرة يزداد مع زيادة عدد المستندات المفتوحة والمستخدمين المتزامنين. يوصي جدول الأجهزة باستخدام Kubernetes لعمليات النشر التي تضم أكثر من 400 مستخدم نشط متزامن. هذه أرقام مرجعية، وليست ضمانًا بأن كل خادم افتراضي خاص (VPS) سيتعامل مع نفس الحمل: فنظام التشغيل المضيف، والحاويات الأخرى، وحجم المستند، وحدود مزود خدمة الخادم الافتراضي الخاص (VPS) لها أيضًا أهمية.

يركز هذا الدليل على تثبيت Docker الشائع على خادم افتراضي خاص (VPS) يعمل بنظام Linux. اتبع الخطوات الأربع بالترتيب: قياس ضغط المضيف والحاويات، والتحقق من السجلات وذاكرة التخزين المؤقت للملفات المنسية، وتقليل الحمل غير الضروري أو تصحيح سعة الحاويات المنخفضة جدًا، ثم إعادة التشغيل فقط عند الحاجة والتحقق من الأداء أثناء الاستخدام العادي. تستخدم أمثلة الأوامر <CONTAINER_ID>اسمًا افتراضيًا؛ استبدله بالمعرّف أو الاسم من docker ps. خذ نسخة احتياطية وجدول الصيانة قبل إيقاف محرر لديه مستخدمون نشطون.

1. تأكد من مكان حدوث ضغط الذاكرة

قم بتشغيل الأوامر الأولى على مضيف VPS، وليس داخل حاوية ONLYOFFICE:

free -h
swapon --show
docker stats --no-stream

free -hيعرض هذا الأمر ذاكرة المضيف المتاحة ومساحة التبديل. swapon --showويؤكد ما إذا كانت مساحة التبديل نشطة. في هذا الأمر docker stats، قارن استخدام الذاكرة لبرنامج ONLYOFFICE مع الحد المعروض له. إذا كانت ذاكرة المضيف المتاحة شبه معدومة، وكانت عدة خدمات تستخدم ذاكرة الوصول العشوائي (RAM)، فقد يكون حجم الخادم الافتراضي الخاص (VPS) غير كافٍ. أما إذا كان لدى المضيف مساحة كافية، ولكن حاوية ONLYOFFICE تقترب من حد أصغر بكثير، فقد يكون الحد الأقصى لحجم الحاوية هو السبب المباشر. يمكن أن تؤدي مساحة التبديل شبه الممتلئة، أو عمليات التبديل المستمرة، أو النشاط المكثف على القرص إلى بطء عملية التحرير حتى قبل أن يقوم المضيف بإنهاء أي عملية.

نافذة طرفية لينكس تعرض الأمرين free -h و swapon --show
الخطوة 1: قم بتشغيل الأمر free -h و swapon --show على مضيف VPS لمعرفة ذاكرة الوصول العشوائي المتاحة وما إذا كان التبديل نشطًا.
نافذة طرفية لينكس تعرض إحصائيات Docker --no-stream
الخطوة 1: يقوم الأمر docker stats --no-stream بمقارنة استخدام الذاكرة الحالي لحاوية ONLYOFFICE مع حدها الأقصى.

تحقق أيضًا من حدود Docker المُكوّنة:

docker inspect --format '{{.HostConfig.Memory}} {{.HostConfig.MemorySwap}}' <CONTAINER_ID>
docker inspect --format '{{.State.OOMKilled}} {{.State.ExitCode}}' <CONTAINER_ID>

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

2. تحقق من سجلات الحاوية وحالات الاستخدام العالي المعروفة في ONLYOFFICE

اقرأ السجلات الأخيرة قبل تغيير الإعدادات أو حذف الملفات:

docker logs --since 1h <CONTAINER_ID>

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

sudo dmesg -T | grep -Ei 'out of memory|killed process|oom' | tail -n 30

تقترح صفحة استكشاف أخطاء Docker في ONLYOFFICE تحديدًا التحقق من وجود مستندات عالقة أو منسية /var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten/عندما يبدو استخدام الذاكرة مرتفعًا بشكل غير متوقع. ابدأ بفحص حجم المجلد ومحتوياته؛ ولا تقم بحذف ملفاته عشوائيًا، فقد تكون هذه الملفات ضرورية للاستعادة أو استكشاف الأخطاء وإصلاحها. إذا كان المجلد كبيرًا أو يستمر في النمو، فاحتفظ بالملفات والسجلات، ثم اتبع إرشادات استكشاف الأخطاء وإصلاحها الرسمية أو استشر دعم ONLYOFFICE لمعرفة ما إذا كان من الآمن حذف الملفات في إصدارك.

نافذة طرفية لينكس تعرض أمر docker logs مع عنصر نائب لمعرف الحاوية
الخطوة 2: افحص سجلات الحاوية الأخيرة قبل تغيير الخادم الافتراضي الخاص أو حذف الملفات المخزنة مؤقتًا.

3. تقليل الطلب غير الضروري وتصحيح الحد الأقصى المنخفض جدًا لـ Docker

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

إذا كانت خاصية التبديل (swap) معطلة في الخادم الافتراضي الخاص (VPS)، فإن إضافة ملف تبديل يمكن أن توفر حماية مؤقتة ضد أي زيادة مفاجئة في الاستخدام. يُشير دليل تثبيت Docker الحالي من ONLYOFFICE إلى ضرورة توفير 4 جيجابايت على الأقل من ملف التبديل، مع ملاحظة أن هذا الحجم يعتمد على نظام التشغيل المضيف. ملف التبديل مُخزّن على القرص وهو أبطأ بكثير من ذاكرة الوصول العشوائي (RAM)، لذا فهو ليس بديلاً عن الذاكرة الفعلية الكافية. قبل إنشاء ملف تبديل، تأكد من عدم وجود ملف تبديل مُسبقًا، وتحقق من وجود مساحة كافية على القرص، وتأكد من أن نظام الملفات ومزود خدمة الخادم الافتراضي الخاص يدعمان هذه الطريقة. على سبيل المثال، في نظام ملفات Linux نموذجي يدعم ملف التبديل:

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
swapon --show

لا تُنفّذ هذه الأوامر فوق ملف تبديل موجود /swapfile. للاحتفاظ بملف التبديل الذي تم إنشاؤه حديثًا بعد إعادة التشغيل، أضف إدخالًا مطابقًا واحدًا /etc/fstabفقط بعد التحقق من وجود إدخال موجود.

/swapfile none swap sw 0 0

إذا أظهر Docker حدًا منخفضًا لذاكرة الحاوية، فراجع ملف Compose أو لوحة النشر التي أنشأت الحاوية. قم بزيادة الحد أو إزالته فقط بعد التحقق من إجمالي ذاكرة الوصول العشوائي (RAM) للخادم الافتراضي الخاص (VPS) والذاكرة المستخدمة من قِبل نظام التشغيل وقاعدة البيانات ومنصة التكامل والخدمات الأخرى. لا تُخصص كل ذاكرة الوصول العشوائي (RAM) للمضيف لتطبيق ONLYOFFICE. إذا كان المضيف نفسه مُستنفدًا، فلن يؤدي تغيير حد Docker إلى إنشاء ذاكرة فعلية إضافية؛ قم بتغيير حجم الخادم الافتراضي الخاص (VPS) أو انقل الخدمات الأخرى إلى مضيف آخر. يدعم Compose حدود الذاكرة، ولكن يجب أن يتطابق الحد المُكوّن مع وضع النشر الفعلي وذاكرة المضيف المتاحة.

يُعدّ خادم افتراضي خاص (VPS) بسعة 2 جيجابايت، يعمل عليه برنامج ONLYOFFICE إلى جانب Nextcloud أو خدمات أخرى، أقل من الحد الأدنى المُعلن عنه من قِبل المورّد وهو 4 جيجابايت من ذاكرة الوصول العشوائي (RAM). كما قد يُعاني خادم VPS بسعة 4 جيجابايت من نقص في الذاكرة عند مشاركة نظام التشغيل المضيف وحزمة التكامل لها. في هذه الحالات، يُعدّ استخدام خادم VPS أكبر أو خادم مستندات مُخصّص أكثر موثوقية من إعادة تشغيل الحاوية بشكل مُتكرر. بالنسبة لأكثر من 400 مُستخدم نشط مُتزامن، يُوصي جدول ONLYOFFICE الحالي بنشر البرنامج على Kubernetes والتواصل مع ONLYOFFICE للحصول على نصائح حول حجم الموارد؛ فهذا ليس حملاً يُمكن حله بإضافة ملف تبديل صغير إلى خادم VPS واحد.

نافذة طرفية لينكس تعرض أمر التحضير للإغلاق الموثق في برنامج ONLYOFFICE
الخطوة 4: قبل إعادة تشغيل الحاوية المخطط لها، قم بتشغيل برنامج الإعداد الموثق الخاص بـ ONLYOFFICE حتى تتمكن جلسات التحرير النشطة من قطع الاتصال بشكل سليم.

4. أعد التشغيل بأمان، ثم تحقق من النتيجة

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

sudo docker exec <CONTAINER_ID> documentserver-prepare4shutdown.sh
sudo docker restart <CONTAINER_ID>

إذا كنت تستخدم Docker Compose، فقم بإجراء التغيير الدائم في إعدادات Compose أو لوحة التحكم، واستخدم آلية إعادة التشغيل المعتادة للمشروع. قد يختفي أي تغيير لمرة واحدة على حاوية قيد التشغيل عند إعادة إنشائها. تجنب استخدام --oom-kill-disableأولوية نفاد الذاكرة (OOM priority) للحفاظ على تشغيل ONLYOFFICE؛ إذ يحذر Docker من أن استنفاد ذاكرة المضيف قد يعرض الخادم الافتراضي الخاص (VPS) والخدمات الأخرى للخطر.

بعد عودة الخادم الافتراضي الخاص أو الحاوية، تأكد من سلامة الحاوية، وأن المحرر يفتح ويحفظ مستندًا تجريبيًا، وأن ذاكرة المضيف متاحة، وأن الحاوية لا تُعاد تشغيلها بشكل متكرر. راقب ذاكرة كل من المضيف والحاوية خلال فترة انشغال نموذجية. إذا ازداد استهلاك الذاكرة باستمرار بعد إغلاق المستندات، أو ازداد حجم مجلد الملفات المنسية، أو عادت أحداث نفاد الذاكرة، فاجمع مخرجات أوامر `resources` free -hو` swapon --showresources` docker statsو` docker inspectresources` وسجلات النظام الحديثة لدعم ذلك. لا تعتبر إعادة تشغيل ناجحة واحدة دليلاً على ثبات سعة الذاكرة.

دليل اتخاذ القرار السريع

ما تلاحظهالخطوة التالية الأكثر فائدة
نفدت ذاكرة الوصول العشوائي (RAM) الخاصة بالخادم، وتأثرت خدمات أخرى أيضًا.قم بترقية الخادم الافتراضي الخاص أو نقل الخدمات غير المتعلقة بالتحرير. لا يمكن لإعدادات الحاوية إضافة ذاكرة وصول عشوائي (RAM) إلى المضيف.
لدى المضيف مساحة كافية، لكن برنامج ONLYOFFICE يصل إلى حد منخفض في Dockerراجع حدّ التأليف أو حدّ المزوّد وقم برفعه فقط ضمن المساحة الآمنة المتاحة للمضيف.
يزداد الاستخدام مع فتح المستندات ثم ينخفض ​​عند إغلاقهاقارن ذلك بالتزامن المتوقع وأنواع المستندات؛ ضع في اعتبارك زيادة ذاكرة الوصول العشوائي (RAM) إذا تسببت الذروات العادية في نفاد الذاكرة.
لا يزال الاستخدام مرتفعًا بشكل غير معتاد بعد انخفاض النشاطافحص السجلات الحديثة وذاكرة التخزين المؤقت للملفات المنسية الموثقة؛ واحتفظ بالبيانات وقم بالتحقيق قبل التنظيف.
أكثر من 400 مستخدم لديهم مستندات مفتوحة في نفس الوقتاستخدم مسار تحديد حجم المجموعة/Kubernetes الخاص بالبائع بدلاً من خادم افتراضي خاص صغير واحد.

المراجع الرسمية

اترك تعليقاً

أضف العطلات الوطنية إلى تقويم Outlook الخاص بك

أضف العطلات الوطنية إلى تقويم Outlook الخاص بك

أضف العطلات الرسمية الخاصة بكل دولة في Outlook الجديد، أو Outlook على الويب، أو Outlook الكلاسيكي. تعرّف على كيفية تجنب الأحداث المكررة والتحقق من وجود تواريخ مفقودة لعامي 2026-2027.

كيفية إزالة البيانات الوصفية والمحتوى المخفي من مستند Word

كيفية إزالة البيانات الوصفية والمحتوى المخفي من مستند Word

استخدم أداة فحص المستندات في برنامج Word لمراجعة تفاصيل المؤلف والتعليقات والتغييرات المتعقبة والنصوص المخفية وغيرها من البيانات قبل المشاركة، وتعرف على ما قد يفوته الفحص.

ملف تعريف Outlook 2010: دليل أساسي لإنشاء وإدارة ملفات التعريف

ملف تعريف Outlook 2010: دليل أساسي لإنشاء وإدارة ملفات التعريف

تعرف على كيفية إنشاء ملف تعريف Outlook 2010، واختيار الملف الذي يفتح عند بدء التشغيل، وحماية الوصول إلى ملفات PST والبيانات غير المتصلة بالإنترنت.

أكسس 2010: تصدير جدول قاعدة بيانات إلى إكسل 2010

أكسس 2010: تصدير جدول قاعدة بيانات إلى إكسل 2010

قم بتصدير جدول Access 2010 إلى Excel 2010، واختر ما إذا كنت تريد تضمين التنسيق، واحفظ خطوات التصدير القابلة لإعادة الاستخدام، وتحقق من مشكلات نقل البيانات الشائعة.

كيفية تغيير الخط الافتراضي والنمط العادي في برنامج وورد 2010

كيفية تغيير الخط الافتراضي والنمط العادي في برنامج وورد 2010

قم بتعيين خط وحجم وتأثيرات نص افتراضية في Word 2010، واحفظ الاختيار في Normal.dotm، وقم بتعديل نمط Normal للمستندات المستقبلية.

برنامج Word 2010: وضع الأحرف داخل دوائر وأشكال أخرى

برنامج Word 2010: وضع الأحرف داخل دوائر وأشكال أخرى

أضف أمر "إحاطة الأحرف" الخاص ببرنامج Word 2010 إلى شريط أدوات الوصول السريع، ثم قم بتغليف حرف أو نص قصير في شكل متاح.

كيفية فتح قاعدة بيانات Access 2010 على نموذج

كيفية فتح قاعدة بيانات Access 2010 على نموذج

قم بتعيين تطبيق قاعدة بيانات Access 2010 ليفتح مباشرة على نموذج إدخال البيانات، وإخفاء قوائم الكائنات، والحد من القوائم، والتحقق من الإعداد قبل المشاركة.

الرسم البياني المقارن في إكسل 2010: إنشاء مخطط شريطي معكوس

الرسم البياني المقارن في إكسل 2010: إنشاء مخطط شريطي معكوس

أنشئ رسمًا بيانيًا مقارنًا في برنامج Excel 2010 على شكل مخطط شريطي معكوس. حافظ على عدد المصادر، وقم بمحاذاة المجموعتين حول الصفر، وقم بتسمية المحور بوضوح.

إعدادات شريط الأدوات للوصول السريع وشريط أدوات التصدير والاستيراد في Office 2010

إعدادات شريط الأدوات للوصول السريع وشريط أدوات التصدير والاستيراد في Office 2010

انقل علامات التبويب المخصصة في الشريط وأوامر شريط أدوات الوصول السريع في Office 2010 باستخدام ملف .exportedUI، واحفظ الإعدادات الموجودة بالفعل على جهاز الكمبيوتر الوجهة.

كيفية إنشاء حقل ارتباط تشعبي في برنامج Access 2010

كيفية إنشاء حقل ارتباط تشعبي في برنامج Access 2010

قم بإنشاء حقل ارتباط تشعبي في Access 2010 في عرض التصميم، ثم أضف واختبر روابط مواقع الويب أو البريد الإلكتروني أو الملفات المشتركة مع تفاصيل الوجهة الصحيحة.