الذاكرة الافتراضية او الـ Paging File وعلاقتها بالرام



تابع قناة عالم الكمبيوتر علي التيليجرام


هناك العديد من البرامج التي تود فتحها في نفس الوقت او قد تضطر لفتح اكثر من صفحة علي جوجل كروم او فايرفوكس في وقت واحد وهل تتحمل الرام كل هذا؟ وماذا اذا لم تتحمله الرام هل سيتوقف جهازك عن العمل؟ حسنا ما الحل لذلك وكيف تغلبت مايكروسوفت علي هذه المشكلة وما عواقب ذلك؟ كل ما تريد ان تعرف من اجوبة علي تساؤلاتك بخصوص هذا الامر ستجده في هذا الموضوع الشامل.



فكرة عن ذاكرة الوصول العشوائي ( الرام ) 

عندما تقوم بفتح برنامج ما ولنقل جوجل كروم مثلا فان بيانات هذا البرنامج تنتقل الي الذاكرة المؤقتة او Random Access Memory وهي الرام التي نعرفها ولكن لماذا؟ سأخبرك عن السبب الان .. هناك ذاكرة دائمة لجهازك وهو الهارد ديسك والذي قد يصل الي 80 , 160, 320 , 500 , ... الخ جيجا بايت وهو عبارة عن ذاكرة دائمة بمعني انه بمجرد حفظك للبيانات عليها فسيتم حفظها علي هذا الهارد ولن يتم مسحها تلقائيا وكما انه هناك ذاكرة دائمة هناك ذاكرة مؤقتة مساحتها اقل ولكنها اسرع بكثير من تلك الذاكرة الدائمة ( الهارد )

لانها لا تحتاج الي حفظ البيانات بداخلها للابد وانما لفترة مؤقتة فقط لذلك يستفاد منها جهازك عند فتحك لاي برنامج فان البرنامج نفسه موجود علي الهارد او الذاكرة الدائمة وبمجرد فتحه يتم نقل بيانات هذا البرنامج الي الرام او الذاكرة المؤقتة لانك بالطبع لن تستمر في فتح البرنامج والتعديل عليه للابد ولان الرام اسرع في هذه الحالة فان جهازك يقوم بقراءة بيانات البرنامج من علي الرام مباشرة وليس من علي الهارد ديسك وهذه ببساطة فائدة الرام.

اللجوء الي الـ Page File 

بزيادة حجم الرام لن تزيد السرعة ولكن سيزيدعدد البرامج او المهام التي يمكنك فتحها معا في نفس الوقت فانت قمت بفتح برنامج جوجل كروم ولا مشكلة في ذلك ولكن عندما تفتح اكثر من صفحة علي جوجل كروم

فانها تستهلك كذلك من حجم الرام ولنفترض انك قمت بفتح برنامج ضخم كالفوتوشوب فانه سيأخذ حيز كبير كذلك من الرام وهكذا حتي يأتي الوقت وتمتلأ الرام بالبيانات ولا تقدر علي استقبال اي بيانات من اي برنامج جديد فما الحل؟



في هذه الحالة سيقوم جهازك باستخدام ملف نظام ذو حجم كبير يعادل غالبا 1.5 حجم الرام الخاصة بك ويسمي Page File والذي يعتمد علي نظرية Least Recently Used ويتواجد في هذا المسار C:\pagefile.sys ولكن لن تجد الملف لانه ملف نظام ومخفي وهو الفكرة التي وجدت فيها مايكروسوفت الحل للتغلب علي امتلاء الرام عن طريق الذهاب الي ذاكرة ثالثة تسمي الذاكرة الافتراضية والتي يكون مصدرها هو هذا الملف Page File ويكون تسلسل العمل في وجود هذا الملف وعند امتلاء الرام كالتالي

فكرة عمل الـ Page File

عند فتح اكثر من برنامج ولنفترض انك قمت بفتح جوجل كرم وبداخله العديد من الصفحات وقمت كذلك بفتح برنامج الفوتوشوب ومعه لعبة PES في الخلفية وكذلك برنامج دونلود مانجر وتم امتلاء الرام بالكامل فعند رغبتك في فتح برنامج جديد فان جهازك يلجأ الي بديل عن الرام وبفكر في استخدام الـ Page File مع الاخذ في الاعتبار ان هذا الملف سرعته اقل بكثير جدا عن الرام ولكن هل سيتم فتح البرنامج الجديد علي الذاكرة الافتراضية والتي هي بالطبع بطيئة جدا ام علي الرام الممتلئة؟!! هنا نأتي الي نظرية عمل الذاكرة الافتراضية او الـ Page File وهي Least Recently Used بمعني ان جهازك يقوم بتحليل جميع البرامج والعمليات المفتوحة الان ويقوم بنقل بيانات اخر برنامج قمت باستخدامه او قمت بفتحه ثم تركته في الخلفية واستخدمت برنامج اخر فيقوم بنقل بيانات هذا البرنامج الي الذاكرة الافتراضية ( الـ Page File ) ويفرغ مساحة جديدة لبيانات البرنامج الجديد.



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

هل اذا قمت بتكبير حجم الـ Page File سيساعد ذلك علي تحسين عمل الرامات والجهاز؟ 

اولا يمكنك التحكم في حجم الـ Page File بالفعل وسنشرح هذا باذن الله في باقي الموضوع ولكن هل تكبير حجم الملف سيفيد فعلا؟ يعتقد بعض الناس انه بزيادة حجم هذا الملف فلن تتأثر الرامات ويصبح الجهاز اسرع ولكن هذا اعتقاد خاطئ وذلك لان الذاكرة الافتراضية تتبع منظومة معقدة حيث تتكون تلك الذاكرة من صفحات ويستدل عليها في الرام وكل صفحة مقسمة الي 4096 بايت وليس هذا فقط فكل صفحة قسمة الي علامات وكل علامة مقسمة الي فروع وكل فرع في الذاكرة الافتراضية له مكان يستدل عليه به في الرام وبحجم معين لا تتجاوزه الذاكرة الافتراضية لذلك اي زيادة في حجم الذاكرة الافتراضية ( الـ Page File ) فهو بلا فائدة ولن تستفاد منه وستضيع مساحة من بارتيشن الـ C بلا فائدة وعند حساب تلك المعادلات المعقدة ستجد ان الذاكرة الافتراضية تأخذ حجم 1.5 الي 3 مرات الرام علي حسب ظروف كل جهاز ولذلك ننصح بترك الويندوز هو الذي يتحكم في حجم الـ Page File دون اي تدخل منك علي حسب ظروف جهازك الشخصي.

اذا كنت املك رامات كبيرة الحجم هل هذا يدفعني الي الغاء وحذف الـ Page File؟

بالطبع لا وهذا خيار خاطئ واعتقاد انه عند ازالة الملف فان اداء الجهاز سيكون اسرع لانه لن يعتمد علي الـ Page File اعتقاد خاطئ كذلك فالـ Page File هو ما يجعل جهازك مستقراً , حتي وان كنت تملك مساحة كبيرة علي الرام فانت من الممكن ان تتعدي هذه المساحة وتحتاج الي الـ Page File وهناك العديد من البرامج تعتمد علي الـ Page File و ان هناك مساحة اضافية عليه غير الرام وعندما لا تجده ستحدث المشاكل ويتوقف تشغيل البرنامج وتكون في مواجهة اخطاء عشوائية بسبب ذلك امامك !!

التحكم في الذاكرة الافتراضية Virtual Memory 

قبل كل شئ ننصح بان تترك الويندوز هو الذي يتعامل مع الـ Page File حتي لت تحدث اخطاء او مشاكل ولكن اذا كنت تريد مساحة كافية علي بارتيشن الـ C وتجد ان الـ Page File يأخذ الكثير فهو جهازك وانت المتحكم الاول به ويمكنك تقليل حجم الملف كما تشاء وهذه هي الخطوات:

ستكتب في البحث بجوار قائمة ابدأ advanced system settings ثم ستختار الخيار الذي امامك.



من خانة Performance ستختار Settings.



ستقوم بفتح تبويب Advanced ومن خانة Virtual Memory اضغط Change.



ستجد ان الويندوز يتحكم في هذا الملف نيابة عنك ننصح بتركه كما هو ولكن اذا كنت تود تغيير ذلك قم بالغاء هذا الخيار عن طريق ازالة التحديد من امام Automatically manage paging file for all drivers ثم قم بالتحديد علي Custom Size واختار الحجم الذي يناسبك واقصي حجم يصل اليه الملف ثم اضغط علي set ثم OK.



مع الأخذ في الاعتبار المعلومات التي في أسفل النافذة التي تقوم بتغير حجم الملف منها والتي تخبرك باقل حجم مسموح للملف وكذلك الحجم الذي يٌنصح به والحجم الحالي للملف.

هل يمكن نقل الـ Page File الي بارتيشن او هارد اخر؟

نعم يمكنك ولكن اذا قمت بنقله الي بارتيشن اخر علي نفس الهارد فان ذلك لن يغير شئ ولكن ستوفر مساحة علي الـ C فقط وتنقلها الي بارتيشن اخر ولكن اذا كنت تعمل علي اكثر من هارد لنفس الجهاز وقمت بنقله الي هارد بخلاف الهارد الذي يحمل الويندوز وبرامجك فان هذا سيحسن الاداء قليلا لذلك الافضل نقله علي هارد اخر بدلا من بارتيشن اخر علي نفس الهارد.

نصيحة

لأكثر من مرة ننصح بترك اعدادات الذاكرة الافتراضية كما هي وعدم تقليل حجم او الغاء الـ Paging File حتي لا تحدث المشاكل والاخطاء العشوائية كعبارة your program has stopped working واذا كان لابد وتريد بعض المساحة علي الـ C يمكنك نقله علي بارتيشن اخر دون الغاءه او حذفه واي استفسار بخصوص الذاكرة الافتراضية او هذا الملف يمكنك طرحه وسنجيب عليه باذن الله.

مواضيع اخري تهمـك

تعليقات

  1. مقال ممتاز استفدت منه كثيرا شكرا لك...

    ردحذف
    الردود
    1. شكرا .. انتظر المزيد باذن الله

      حذف
  2. ام استطع نقل الفايل الى بارتيشن اخر و تظهر رساله ان الفايل يستخدم بواسطه ابليكيشن اخر كيق احل هذه المشكله

    ردحذف
  3. مرحبا هل نستطيع تخصيص ذاكر افتراضية على اكثر من بارتشن معا ؟طبعا السؤال من باب العلم والمعرفة فقط وشكرا

    ردحذف
  4. شكرا على هذا المقال واعتقد ان هناك مقال مكمل يشرح الموضوع بشكل تفصيلي
    https://www.efhamcomputer.com/how-to-optimize-the-paging-file-in-windows/

    ردحذف

إرسال تعليق