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

إليك كل ما تحتاج لمعرفته حول الذاكرة الافتراضية على Linux.

ما هي الذاكرة الافتراضية؟

الذاكرة الافتراضية هي طريقة لتمثيل ذاكرتك المستخرجة من الذاكرة الفعلية على جهازك. إنه يستخدم كلاً من ذاكرة الوصول العشوائي ومساحة التخزين الخاصة بك ، سواء كان ذلك على محرك أقراص ثابت تقليدي أو محرك أقراص صلبة SSD.

في Linux ، يتم ذلك على مستوى النواة والأجهزة. تحتوي وحدة المعالجة المركزية على قطعة من الأجهزة تسمى وحدة إدارة الذاكرة (MMU) والتي تترجم عناوين الذاكرة الفعلية إلى عناوين افتراضية. هذه العناوين مستقلة عن المكان الذي يقيمون فيه فعليًا على الجهاز. تُعرف مساحات العناوين هذه باسم "الصفحات" ويمكن أن تكون في ذاكرة الوصول العشوائي أو على محرك الأقراص الثابتة أو SSD. يرى نظام التشغيل هذه العناوين على أنها مجموعة كبيرة من الذاكرة ، تُعرف باسم "مساحة العنوان".

instagram viewer

تستفيد الذاكرة الافتراضية من حقيقة أنه لا يتم استخدام كل الذاكرة المستخدمة نظريًا طوال الوقت. يتم تقسيم البرامج الموجودة في الذاكرة إلى صفحات ويتم "تبديل" الأجزاء التي تعتبرها النواة غير ضرورية أو نقلها إلى محرك الأقراص الثابتة. عند الحاجة إليها ، يمكن "تبديلها" أو إعادتها إلى ذاكرة الوصول العشوائي.

تُعرف المساحة المستخدمة للذاكرة الظاهرية على محرك الأقراص باسم "مخزن النسخ الاحتياطي" أو "مساحة التبديل". في عالم Windows ، إنه عادةً ما يتم تنفيذه كملف ، يُعرف باسم "ملف المبادلة". من الممكن أيضًا القيام بذلك في Linux ، لكنه أكثر شيوعًا إلى استخدم قسم قرص مخصص.

عادةً ما يتم حجز ملفات المبادلة على Linux للأنظمة البسيطة أو المدمجة ، ومن الشائع أن يتم تشغيل هذا الأخير بدون ذاكرة افتراضية تمامًا لأن أنظمة التشغيل المضمنة يجب أن تكون صغيرة.

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

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

كان الجانب السلبي الرئيسي للذاكرة الافتراضية تاريخيًا هو أن محركات الأقراص الثابتة كانت أبطأ من ذاكرة الوصول العشوائي. إذا لم يكن لدى الجهاز ذاكرة RAM كافية ، يمكن للنظام الاستمرار في تبديل الصفحات للداخل والخارج إلى ما لا نهاية ، وهي عملية تُعرف باسم "thrashing". هذا هو مشكلة أقل على أجهزة الكمبيوتر الحديثة مع المزيد من ذاكرة الوصول العشوائي ومحركات أقراص الحالة الصلبة الأسرع التي تحل محل محركات الأقراص الصلبة الميكانيكية ، ولكن لا يزال هناك شيء يجب أن تكون على دراية به من.

أقسام تبديل Linux

كما ذكرنا سابقًا ، تتمثل الطريقة المعتادة لإعداد ذاكرة افتراضية على نظام Linux في استخدام قسم قرص مخصص. ستفحص أداة التثبيت المساعدة أجهزتك وتقترح نظامًا للتقسيم يتضمن قسمًا للتبديل.

يمكنك أيضًا إضافة أقسام مبادلة بعد التثبيت. إذا كنت ترغب في إضافة قسم جديد إلى محرك أقراص موجود ، فسيتعين عليك ذلك استخدم أداة التقسيم غير المدمرة مثل GParted. تأكد من تحديد "Linux swap" كنظام ملفات للقسم الخاص بك.

قم بعمل نسخة احتياطية من البيانات المهمة قبل إعادة تقسيم محرك الأقراص الخاص بك.

بعد إنشاء القسم الخاص بك ، استخدم الأمر mkswap لتهيئة القسم الخاص بك.

sudo mkswap / dev / sdX

الآن سيكون عليك تعديل ملف /etc/fstab كجذر لإضافة قسم المبادلة الخاص بك. هذا السطر ، المضاف إلى الملف ، سيُنشئ قسم مبادلة ليتم تثبيته في وقت التمهيد:

/ dev / sdX لا توجد إعدادات افتراضية للمبادلة 0 0

الآن استخدم ملف مبادلة الأمر لتنشيط مساحة التبادل الجديدة ، حيث يكون sdX هو اسم قسم المبادلة الخاص بك:

sudo swapon / dev / sdX

استخدام Swap Files على Linux

من السهل أن قم بإعداد ملف المبادلة في Linux باستخدام سطر الأوامر. قد ترغب في القيام بذلك إذا كنت لا تريد عناء إعادة تقسيم محرك الأقراص أو التحرير /etc/fstab. طريقة واحدة لاستخدام وقعت:

على سبيل المثال ، لإنشاء ملف مبادلة بحجم 2 غيغابايت:

sudo Fallocate -l 2G / path / to / swapfile

كبديل ، يمكنك استخدام الأمر dd لإنشاء ملف المبادلة.

sudo dd إذا=/dev/صفر من=/path/إلى / swapfile bs =1024 العد =2048

تأكد من أنك تستخدم الأمر dd بشكل صحيح ، لأن الحصول على ملف infile و outfile بشكل خاطئ يمكن أن يتسبب في فقدان البيانات. Fallocate هي الطريقة المفضلة لهذا السبب.

ال /dev/zero الجهاز هو جهاز خاص يخرج "0". ما يفعله هذا الأمر dd هو إنشاء ملف كتلة فارغ بسعة 2 غيغابايت باستخدام كتل 1024 كيلوبايت مناسبة للاستخدام كمساحة مبادلة.

يمكنك بعد ذلك استخدام ملف mkswap و مبادلة أوامر بملف مبادلة كما تفعل مع قسم المبادلة:

sudo mkswap / path / to / swapfile
sudo swapon / المسار / إلى / swapfile

قد تتساءل متى يجب عليك استخدام ملف المبادلة أو قسم مخصص لمساحة المبادلة الخاصة بك. الاختيار سهل: في معظم الظروف ، يجب عليك استخدام قسم. هذا هو الخيار الأفضل لسطح مكتب Linux أو خادم. عادةً ما يكون مخطط التقسيم الذي اقترحه المثبت مناسبًا على سطح مكتب Linux لمستخدم واحد.

قد ترغب في استخدام ملف المبادلة إذا كنت تقوم بتشغيل Linux في جهاز افتراضي ، أو على نظام مضمن صغير ، أو إذا كنت لا تريد إعادة تقسيم نظام Linux الحالي لديك.

كم مساحة المبادلة؟

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

في العديد من الأنظمة ، إذا قمت بالتحقق من أعلى أو htop ، فقد تلاحظ حتى أن مساحة التبادل الخاصة بك لا يتم استخدامها على الإطلاق إذا قمت بإعداد نظامك بهذه الطريقة.

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

يمكن أن يستمر الكمبيوتر في التبديل بين الدخول والخروج ، وهي عملية تُعرف باسم thrashing ، مما يجعلها تبدو غير مستجيبة. إذا كان لا يزال لديك محرك أقراص ثابت ميكانيكي ، فيمكنك في كثير من الأحيان سماع وصوله باستمرار.

هذه مشكلة أقل بكثير هذه الأيام حيث أن حجم ذاكرة الوصول العشوائي على أجهزة الكمبيوتر الشخصية الأرخص أكثر من كافٍ ، بالإضافة إلى أن سرعة محركات أقراص الحالة الصلبة أسرع بكثير من محركات الأقراص الثابتة القديمة. لا يزال هناك شيء يجب أن تكون على دراية به.

أسهل طريقة لإصلاح ذلك هي إضافة المزيد من ذاكرة الوصول العشوائي إلى جهازك. إذا لم يكن ذلك ممكنًا ، فقد تحاول ضبط "Swappiness" لنواة Linux.

يحدد رقم المبادلة مقدار انغماس النواة في الذاكرة الظاهرية. يتراوح من 0 إلى 100. تعيينه على 0 يعني أن Linux لن يتم تبديله على الإطلاق ، بينما عند 100 ، سيتم تبديله في كل فرصة. الافتراضي في معظم الأنظمة هو 60.

لتغيير المبادلة مؤقتًا ، استخدم الأمر sysctl:

sudo sysctl vm.swappiness = 20

سيكون "20" في هذا الأمر هو رقم المبادلة حتى تقوم بإعادة التشغيل. لتغييره بشكل دائم ، قم بتحرير ملف /etc/sysctl.conf ملف كجذر ووضع السطر ، "vm.swappiness = [رقم المبادلة]" ، حيث "[رقم المبادلة]" هو رقم المبادلة الذي تريده. سيكون هذا بمثابة فجوة مؤقتة حتى تتمكن من تثبيت المزيد من ذاكرة الوصول العشوائي.

الذاكرة الظاهرية تحافظ على نظام Linux الخاص بك يعمل بسلاسة

الذاكرة الافتراضية هي أحد مكونات أنظمة التشغيل الحديثة ، بما في ذلك Linux ، والتي تحافظ على تشغيل الكمبيوتر بسلاسة. يمكنك استخدام ملف المبادلة ، لكن الطريقة المعتادة هي قسم مخصص. لست مضطرًا إلى التفكير في الأمر كثيرًا ، لكن أقسام مبادلة Linux وملفات المبادلة سهلة الإعداد واستكشاف الأخطاء وإصلاحها.

تنطبق الكثير من هذه النصائح أيضًا على أنظمة أخرى ، بما في ذلك Windows ، حتى إذا كانت طرق إعداد الذاكرة الظاهرية مختلفة.