انتقل إلى المحتوى الرئيسي

الفصل 2.3 - إدارة الذاكرة والتبادل

أهداف التعلم​

في نهاية هذا الفصل، ستكون قادرًا على:

  • فهم كيفية إدارة لينكس للذاكرة
  • شرح الذاكرة الافتراضية والتقسيم
  • فهم التبادل ودوره
  • مراقبة استخدام الذاكرة
  • تحسين استخدام الذاكرة

ما هي إدارة الذاكرة؟​

يستخدم لينكس نظامًا متطورًا لإدارة الذاكرة يجمع بين الذاكرة الفعلية (RAM) والذاكرة الافتراضية (التبادل) لتحسين الأداء والسماح بتشغيل عدد أكبر من العمليات مقارنة بالذاكرة المتاحة.


الذاكرة الفعلية مقابل الذاكرة الافتراضية​

الذاكرة الفعلية (RAM)​

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

الذاكرة الافتراضية​

  • مجردة: كل عملية ترى مساحة ذاكرة افتراضية
  • التقسيم: مقسمة إلى صفحات (عادة 4KB)
  • التعيين: الصفحات الافتراضية معينة إلى RAM أو التبادل
  • الحماية: عزل بين العمليات

التقسيم وMMU​

تدير وحدة إدارة الذاكرة (MMU) ترجمة العناوين:


التبادل​

التبادل هو مساحة على القرص تستخدم كامتداد لـ RAM:

الأدوار:

  • توسيع الذاكرة المتاحة
  • دعم عدد أكبر من العمليات
  • تحسين الاستقرار

الأنواع:

  • قسم التبادل: قسم مخصص (موصى به)
  • ملف التبادل: ملف تبادل (أكثر مرونة)

التكوين:

# عرض التبادل
free -h
swapon --show

# إنشاء ملف تبادل
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# التفعيل عند الإقلاع
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

مراقبة الذاكرة​

أوامر المراقبة​

# نظرة عامة
free -h

# تفاصيل لكل عملية
top
htop

# إحصائيات مفصلة
cat /proc/meminfo

# الاستخدام لكل عملية
ps aux --sort=-%mem | head

التفسير​

  • MemTotal: إجمالي RAM
  • MemFree: RAM الحرة
  • MemAvailable: RAM المتاحة (الحرة + الذاكرة المؤقتة القابلة للاسترداد)
  • SwapTotal: إجمالي التبادل
  • SwapFree: التبادل الحر

تحسين الذاكرة​

الممارسات الجيدة​

  1. المراقبة بانتظام

    • استخدام free, top, htop
    • تحديد العمليات المستهلكة
  2. تعديل التبادل

    • الحجم الموصى به: 1-2x من RAM
    • أكثر إذا كان الخادم يحتوي على الكثير من RAM
  3. تحديد العمليات

    • استخدام ulimit لتحديد الذاكرة
    • تكوين OOM killer
  4. تنظيف الذاكرة المؤقتة

    # تحرير الذاكرة المؤقتة (إذا لزم الأمر)
    sync
    echo 3 | <span dir="ltr">sudo</span> tee <span dir="ltr">/proc/sys/vm/drop_caches</span>

الملخص​

في هذا الفصل، تعلمت:

إدارة الذاكرة: RAM + التبادل لتحسين الأداء
الذاكرة الافتراضية: تجريد لكل عملية
التقسيم: تقسيم إلى صفحات، إدارة بواسطة MMU
التبادل: امتداد لـ RAM على القرص
المراقبة: free, top, htop, /proc/meminfo
التحسين: المراقبة، تعديل التبادل، الحدود


الخطوات التالية​

الفصل 2.4: نظام الملفات الافتراضي (VFS)
الفصل 2.5: إدارة العمليات


تم إنشاء الفصل في: ديسمبر 2024