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