كيف تحدد حجم ذاكرة السواب Swap (ذاكرة التبديل الاحتياطية)


(Mahmod Mohamed)) #1

حجم السواب (ذاكرة التبديل الاحتياطية) في الحاسوب لا يتعلق بحجم الرام (الذاكرة المركزية)، بل بطبيعة التطبيقات التي يستعملها المستخدم وحاجتها إلى البيانات. لذلك لا يوجد جواب واحد للسؤال المتكرر: ما هو أفضل حجم سواب لنظامي؟

swap-NEW

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

paging
.
أثناء التبديل، أي أثناء الطلب الزائد على الذاكرة، قد يصل النظام إلى مرحلة يكون فيها الطلب كبيرا وصادرا من عدة تطبيقات وشاملا في نفس الوقت لصفحات الرام والصفحات التي تم إنزالها على السواب، فيقضي النظام وقته في تدوير هاته الصفحات بين هاتين الذاكرتين، وبما أن النسخ بينهما يأخذ وقتا، فسيبطئ النظام بشكل رهيب ويبدو غير متجاوب مع المستخدم، وهو ما يسمى بوضع التراشينغ trashing. طبعاً قد يتسبب تطبيق واحد شره في هذا الوضع، وهو يحدث معي مثلا في أندرويد ستوديو أو متصفح ويب ككروم أو فايرفوكس فيه مئات المواقع مفتوحة. في هاته الحالة أغلب المستخدمين يعمدون إلى الضغط على الفأرة أو لوح المفاتيح بشكل متكرر وهو ما يزيد الطين بلة أو يعمدون إلى قطع الكهرباء عن الجهاز من أجل إعادة تشغيله وهذا يؤدي في الغالب إلى ضياع البيانات (من الملفات التي كانت مفتوحة في التطبيقات أو تلك التي تم إدخالها لكن لم تُحفظ أو لم تُرسل بعدُ في الشبكة).
.
يُمكن للمستخدم تمييز وضع التراشينغ عن أعطاب التعليق أو التوقف الأخرى بمراقبة صوت أو ضوء القرص الصلب الذي يبقى يعمل بكثافة. والأفضل في هاته الحالة هو رفع اليد عن الجهاز حتى يعود إلى وضعه الطبيعي أو يقوم نظام التشغيل “بقتل” أحد التطبيقات الشرهة (عن طريق out of memory killer) لتحرير الذاكرة. في حالة الوقوع في تراشيننغ، النظام قادر على انقاذ نفسه ولو بعد حين. لن يصل إلى تحطم النواة kernel panic.
.
الاستخدام الآخر للسواب هو ميزة وضع الجهاز في سُبات عميق hibernation، وهي خدمة ظهرت في لينكس مدة من الزمن، وكانت ذات قيمة لمّا كانت التوزيعات تأخذ وقتاً طويلاً في الإقلاع العادي (التي يتم فيها تحميل النظام والمُعرفات وسطح المكتب من الصفر). خدمة السُبات هي السبب الذي جعل برامج تثبيت التوزيعات وأيضا وثائقها تختار حجم السواب كضعف للرام، وذلك كي يكفي لخدمة التبديل السابقة وأيضا لنسخ كامل رام النظام إلى السواب عند وضعه في حالة سُبات (في الأول كان النسخ دون ضغط المحتوى). وهذا يعني أن بيانات كل التطبيقات المفتوحة، والتي كانت في الرام، ستُنتسخ إلى السواب. بعدها يمكن قطع الكهرباء تماما على الحاسوب لأي مدة، مهما طالت. وعند إيقاضه مجددا تقوم نواة نظام التشغيل بفحص السواب فإذا وجدت فيه حالة سُبات، فستتخطى عملية الإقلاع وتقوم بنسخ المحتوى القديم للذاكرة من السواب إلى الرام، وبالتالي يجد المستخدم كل تطبيقاته التي فتحها جاهزة مع بياناتها، في وقت أقصر من الوقت الذي يستغرقه إقلاع عادي.
.
أما اليوم فخدمة السُبات في اندثار، حيث قامت أبونتو مثلا بتعطيلها في التثبيت الافتراضي لتناقص الدعم التقني لها، بسبب تراجع الحاجة إليها، وذلك لأن أغلب التوزيعات عملت على تحسين وتقليل وقت الإقلاع، بحيث صار يضاهي وقت إيقاض الجهاز من السُبات. بتعبير آخر المشكل الذي كانت تحله هاته التقنية اختفى وبقيت مشاكلها الذاتية التي لم تُحل سابقا. مثلاً بقي هناك بعض العتاد، خصوصا الذي يعمل على منافذ يو أس بي usb لا يتوافق مع وضع السُبات ولا يدعمه. بحيث إذا انتقل الحاسوب إلى السبات وقُطع التيار الكهربائي، تختفي بيانات هذا العتاد، وسيحتاج إلى تشغيله من الصفر وتحميل مُعرّفه (driver) مجددا عند الاستيقاض.
.
لذا في الحواسيب التي فيها رام 4 جيغا أو أكبر ولا يعمل مستخدمها على تطبيقات تلتهم بيانات كبيرة فلا حاجة له إلى تخصيص حيز للسواب على القرص الصلب. أما إذا كانت الرام صغيرة أو هناك تطبيقات شرهة فالأفضل تخصيص حجم صغير للسواب، كـ2 جيغا، كي يتفادى فقدان بياناته في حالة ما إذا نفذت الرام. عندها إذا لاحظ تكرر تباطؤ الجهاز كلما استعمل تطبيقا معينا، فالأفضل زيادة حجم الرام. وإلا فعند نفاذ الذاكرة تماما سيتدخل الOOK لقتل التطبيق الشره مما قد يتسبب في ضياع البيانات. طبعاً أصحاب الخوادم الثقيلة سيحتاجون لسواب أكبر وهم أدرى بشعابها.

نشره الاستاذ جلال شفرور على مجموعة مستخدمي البرمجيات الحرة


(هلال العامري) #2

عن تجربة أعتقد أن هذا هو الصحيح
لدي جهازين أحدهم 4 جيجا الرام وبه 800 ميغا للسواب
والاخر 15 جيجا وبه 620 ميغا سواب
السواب الأولى لا يتم استغلالها بشكل جيد لأنه لا توجد بيانات كثيرة وعالية في التطبيقات المستخدمة آنذاك.
بينما السواب الثانية فدائما تكون ممتلئة بنسبة 96%
والسبب هو البيانات الكثيرة المستخدمة.


(سليمان ) #3

هل هناك Swap في الويندوز , ويمكن تخصيصه ؟
او طرح مثل هذا السؤال ممنوع .