الفصل 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: التبادل الحر
تحسين الذاكرة
الممارسات الجيدة
-
المراقبة بانتظام
- استخدام
free,top,htop - تحديد العمليات المستهلكة
- استخدام
-
تعديل التبادل
- الحجم الموصى به: 1-2x من RAM
- أكثر إذا كان الخادم يحتوي على الكثير من RAM
-
تحديد العمليات
- استخدام
ulimitلتحديد الذاكرة - تكوين OOM killer
- استخدام
-
تنظيف الذاكرة المؤقتة
# تحرير الذاكرة المؤقتة (إذا لزم الأمر)
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