إخلاء ذاكرة Squid 7 القرصية: LRU وعلامات المياه
افهم سياسة الاستبدال في ذاكرة Squid 7 القرصية وعلامات المياه المنخفضة والمرتفعة بدلًا من التعامل مع الكائنات المخزنة كملفات دائمة.
لا يحتفظ Squid بكل كائن خزّنه يومًا ما. فمخزن القرص لديه سعة مُهيّأة وسياسة استبدال لاختيار الكائنات المخزنة التي تُزال.
في واجهة Squid 7، تُكتب سياسة LRU العادية وعلامات المياه القرصية الافتراضية على النحو التالي:
cache_replacement_policy lru
cache_swap_low 90
cache_swap_high 95علامات المياه نسب مئوية من مساحة التبديل المهيّأة. يبدأ الاستبدال عندما يتجاوز الاستخدام علامة المياه المنخفضة. وكلما اقترب الاستخدام من العلامة المرتفعة، يصبح الإخلاء أكثر شدة، بهدف إبقاء الذاكرة قريبة من العلامة المنخفضة.
تختار LRU الكائنات وفق الاستخدام الحديث. وتُحدَّد السعة بإعدادات مخزن القرص، بما في ذلك إدخالات cache_dir ذات الصلة؛ وتغيير علامة مياه لا يخلق مساحة قرص إضافية.
تلك هي دورة حياة الذاكرة الطبيعية: يمكن إزالة كائن وجلبه مجددًا عند طلبه لاحقًا. ولا حاجة إلى حذف الذاكرة بأكملها لمجرد أنها تجمّع فيها ملفات كثيرة.
واصل مراقبة نظام الملفات نفسه. فالسجلات والبيانات الوصفية والملفات المؤقتة والبرامج الأخرى يمكن أن تشغل مساحة خارج سعة الكائنات المخزنة. فاستبدال الذاكرة يدير مخزن Squid، لا كل ملف يتقاسم القرص.