المحتوى عن 'memory'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • الإدارة والقيادة
  • السلوك التنظيمي
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
    • React
  • HTML
    • HTML5
  • CSS
  • SQL
  • لغة C#‎
  • لغة C++‎
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • Sass
    • إطار عمل Bootstrap
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • ASP.NET
    • ASP.NET Core
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
    • منصة Xamarin
  • سهولة الوصول
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • التسويق بالرسائل النصية القصيرة
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 2 نتائج

  1. رغم قيامك بكل شيء بالطريقة الصحيحة، قد تواجهك أحيانا بعض رسائل الخطأ (errors) على ووردبريس. لا تقلق فإلى جانب أنك قد لا تكون السبب في ذلك بتاتا فقد تجد حلّا سهلًا وبسيطًا له. يتوفر ووردبريس افتراضيا على قيمة قصوى محدودة لرفع الصور، مقاطع الفيديو والملفات الأخرى، نفس الأمر بالنسبة لمحدودية ذاكرة PHP التي تساعدك على تشغيل الملحقات والسكربتات (scripts). قد يصبح هذا الأمر مشكلة حقيقية خصوصا إن كنت تملك موقعا ضخما غنيا بالمحتوى، عند وصولك إلى هذه القيم القصوى فإنك تواجه رسالة خطأ كالتالي: The uploaded file exceeds the upload_max_filesize directive in php.ini عند وصولك إلى القيمة القصوى للذاكرة من المحتمل أن تواجه رسالة مشابهة لما يلي: Fatal error: Allowed memory size of 12345678 bytes exhausted (tried to allocate 2345678 bytes) in /home/your-username/public_html/wp-includes/plugin.php on line 1000 قد يكون إصلاح هذا المشكل أمرا صعبا بعض الشيء بناء على إعدادات الخادوم (server)، لذ سنخصص هذا المقال لتوضيح كيفية زيادة قيمة الرفع القصوى وفي سعة الذاكرة على خادومك حتى تستأنف عملك كالمعتاد. تحديث ملف php.ini إن كنت تستخدم cPanel، اذهب إلى قسم الملفات Files واضغط على زر File Manager. تأكد التأشير على خانة Show Hidden Files ثم اضغط على Go. قم بتحديد مجلد wp-admin، ابحث عن أحد الملفين php.ini أو php5.ini، إن لم تجد أيا منهما، أنشئ واحدا جديدًا بالنّقر على زر New File في الزاوية أعلى اليسار، اختر اسم php.ini للملف ثم اضغط على Create File في الشاشة المنبثقة. يمكنك اختيار Document Root من أجل ولوج أسرع، ستذهب مباشرة إلى ملفات موقعك بعد اختيارها من القائمة المنسدلة. إذا اتبعت هذه الخطوات ولم ينجح الأمر، جرب تغيير اسم الملف إلى php5.ini، بمجرد فتح الملف أضف أو قم بتعديل الأسطر التالية، احفظ التغييرات ثم غلق الملف. upload_max_filesize = 1000M post_max_size = 2000M memory_limit = 3000M file_uploads = On max_execution_time = 180 يدل حرف M على ميغابايت، قم بتغيير القيم القصوى 1000M ،2000M و 3000M إلى قيم أخرى من اختيارك والتي تراها مناسبة لك. يؤدي تغيير قيمة max_execution_time إلى الحد من الوقت المستغرق في تحميل السكربت (مقدّرًا بالثّواني). في العديد من الحالات تتصاعد القيم التي تدخلها أثناء نزولك في القائمة من السطر الأول إلى الثالث، يجب على قيمة upload_max_filesize أن تكون هي الصغرى في حين تكون قيمة memory_limitshould هي الكبرى أما قيمة post_max_size فتمثل الوسط بينهما. قبل التأكد من ذهاب رسالة الخطأ، تأكد من حذف التخزين المؤقت للمتصفح (browser’s cache). تعديل ملف htaccess. إن لم يفِ التعديل السابق بالغرض، جرب التعديل على ملف htaccess.، أضف أو عدّل على الكود التالي في أسفل الصفحة: php_value upload_max_filesize 1000M php_value post_max_size 2000M php_value memory_limit 3000M php_value max_execution_time 180 php_value max_input_time 180 يتم تعديل هذا الكود بنفس طريقة التعديل على ملف php.ini، قم بتغيير القيم إلى ما يناسب احتياجاتك، لا تنس حفظ التعديلات وحذف التخزين المؤقت لمتصفحك. تحسين ملف wp-config.php إن لم تفلح أي الطريقتين السابقتين، جرب التعديل على ملف wp-config.php من خلال إضافة ما يلي إلى أسفل الصفحة مباشرة قبل سطر "happy blogging": define('WP_MEMORY_LIMIT', '3000M'); احفظ التعديلات واحذف التخزين المؤقت للمتصفح (browser’s cache). تغيير القيم القصوى في WHM إن كنت تستضيف موقعك على خادوم مخصص (dedicated server) أو من نوع VPS، يمكنك أن تجرب تغيير القيم القصوى للتحميل والذاكرة في WHM الخاص بك. بعد تسجيل الدخول، اذهب إلى: Server Configuration > Tweak Settings > PHP استخدم نفس القيم التي استخدمتها أعلاه وذلك من أجل نتائج أفضل. أدخل القيم المناسبة لك ثم اضغط على Save أسفل الصفحة. بعد ذلك، اذهب إلى: Service Configuration > PHP Configuration Editor تصفح الصفحة نزولا حتى تجد الأقسام الرئيسية memory_limit و upload_max_filesize. يجب على القيم التي تدخلها هنا أن تكون مطابقة لتلك التي حاولت إدخالها سابقا في ملفي: php.ini و htaccess.. أدخل القيم المناسبة لإعدادك. أخيرًا في قسم Options & Information حدد مكان max_execution_time وقم بتحديثه إلى نفس القيم التي أدخلتها في ملفي: php.ini و htaccess.. اضغط على Save أسفل الصفحة واحذف التخزين المؤقت للمتصفح. خلاصة أنت الآن على أتم استعداد لحل مشكل رسائل الخطأ، استمتع برفع ملفات أكبر حجما واستمر في استخدام الملحقات كما تشاء على موقع ووردبريس الخاص بك. لن تأخذ هذه التغييرات أكثر من بضع دقائق ليظهر تأثيرها لتتمكن من استئناف عملك بسرعة. إذا احتجت إلى رفع ملفات بحجم أكبر مرة واحدة فقط، يمكنك أن تقوم أيضا برفعها من خلال FTP لتجنب هذا العناء. في حين لا يتم عادة عرض الملفات المرفوعة على /wp-content/uploads/ directory باستخدام FTP في مكتبة الميديا، يمكن للملحق Media from FTP أن يسجلها في المكتبة ببضع نقرات. يتم تحديث هذا الملحق بشكل دوري. إن لم تعمل أي من الخيارات المقترحة، لم تتمكن من الولوج إلى الأماكن المذكورة أو واجهت بعض المشاكل أثناء القيام بهذه التغييرات عليك بالاتصال بمزود الاستضافة الخاصة بك الذي يمتلك صلاحية الولوج من أجل القيام بالتغييرات المطلوبة، فمزودك هو الأنسب لهذه المهمة. هل استطعت تغيير القيم القصوى للرفع وذاكرة PHP باستخدام هذه الطرق؟ هل واجهت أي مشاكل في القيام بذلك سابقا؟ تفضل بمشاركتنا تجربتك في التعليقات أسفله. ترجمة بتصرف للمقال: How to Increase the Maximum Upload and PHP Memory Limit in WordPress لصاحبته: JENNI MCKINNON.
  2. يتناول هذا المقال محاسن ومساوئ استخدام ذاكرة وهميّة (virtual memory)، أو كما يُطلق عليها بملفّ التبديل (swap file)، أو كما تُطلِق أنظمة ويندوز على هذه التقنيّة بالترقيم (paging)، أيضا سيتمّ التَّطَرُّق إلى كيفيّة تحديد فيما إذا كان النّظام المؤجّر (الخادوم) يستخدم هذه الذّاكرة الوهميّة أم لا، كما سيتمّ التَّطَرُّق إلى الاختلاف بين ملفّ التبديل (swap file)، وقسم التبديل (swap partition)، وكما سيتمّ تناول آلية إنشاء ملفّ تبديل، وكيفيّة إعداد ملفّات “swappiness”، والّتي تسمح لمُدير النظام بتحديد مدى الاعتماد على الذّاكرة الوهميّة، والحجم المُناسب للاستخدام. يمكن الاستزادة والقراءة عن التبديل (Swap)، والذّاكرة الوهميّة على موسوعة ويكبيديا، والّتي ستجيب على الكثير من الأسئلة الّتي لن يتطرّق لها هذا الشرح. سيتمّ اقتباس أحد الأجزاء المهمّة: الذّاكرة الوهميّة ومُتطلّباتُهاماهي الذّاكرة الوهميّة ولماذا يجب استخدامها؟ليس المهم إن كان النظام يَملك ذاكرة وصول عشوائي من الحجم 512mb، أو حتّى 8mb، وليس مُهمًا إن كان نظام التشغيل هو Arch أو Fedora أو CentOS أو Debian، أو حتّى Ubuntu، فإن التطبيقات أوالخواديم ستحتاج إلى المزيد من الذّاكرة العشوائيّة الفيزيائيّة، أو الذّاكرة المُحدّدة (memory allocated) الوهميّة عندما يكون الخادوم خادومًا وهميًّا، كما هو حال الخادوم المُستخدم في هذا الدليل. إنّ معرفة فيما إذا كانت الذّاكرة الوهميّة غير مفعّلة على النّظام لأمرٌ ضروريٌ يجب على مُدير النظام أن يُدركه، حيثُ أنّ النّظام في حال وصوله إلى نقطةٍ ما لا يتوفّر به أي ذاكرة حرّة، وطلبت خدمةٌ ما، أو برنامجٌ ما، أو ربما خادم الوب نفسه إلى المزيد من الذّاكرة، سيؤدي ذلك إلى فشل هذه الخدمة أو البرنامج عن العمل، وبناءً على نظام التشغيل وإعداداته، فمن المُمكن جدًا أنّ يسبب ذلك إلى مشاكلٍ لا تُحمد عُقباها، أو على الأقل ستصبح البرامج في حالة من عدم الاستقرار، وأيضًا قد تُجبر بعض التطبيقات على التوقف عن العمل لتحرير مساحة الذّاكرة المطلوبة، الأمر الّذي يزيد من تعقيد الأمور، خاصّة عندما يكون هذا الخادوم خادومًا يعمل في البيئة الحقيقية (production server)، وليست البيئة التّطويريّة (development server). يَنصح الخبراء، وبسبب الاحتماليّة السابقة، مُدراء الأنظمة، وحتّى الأشخاص غير المتخصّصين، وعلى أي نظام تشغيل، سواء Windows، أو OSX، أو حتّى الأجهزة اللّوحيّة الخاصّة الّتي تعمل بنظام التشغيل Android، بوجوب تفعيل الذّاكرة الوهميّة، حتّى ولو بحجمٍ صغيرٍ. آلية عمل الذّاكرة الوهميّةتُقدّم الذّاكرة الوهميّة للنظام، وبطبيعة الحال للتطبيقات الخاصّة به، ذاكرة RAM وهميّة إضافية، بالإضافة إلى ما يقدمه النّظام من ذاكرة فيزيائيّة – في حالة الخادوم الوهميّ ستكون الذّاكرة هي الذّاكرة المُحدّدة (allocated memory)، وليست الذّاكرة الفيزيائيّة – تعمل الذّاكرة الوهميّة عملها بالاستعانة بأقراص التخزين (disks) في سبيل تقديم هذه المساحة الإضافيّة، وذلك عن طريق تبادل المعطيات ذهابًا وإيابًا بين ذاكرة النّظام، والذّاكرة الوهميّة، وعلى حسب الحاجة. يجب أنّ يعي مُدراء الأنظمة أنّ عمليّة الكتابة والقراءة على الأقراص (disks) – حتّى السريع منها SSD – هي أبطأ بكثير من الكتابة على ذاكرة النّظام الحقيقيّة، فعلى الرغم من أنّ الذّاكرة الوهميّة ستقدّم مساحة تخزين لتنقذ بها موارد النّظام، من تطبيقات وخدمات لتعمل بشكلٍ ملائم، وتجنيبها الخروج عن العمليّة التشغيليّة المخصّصة لها (وذلك عن طريق عدم الوقوع في شرك “امتلاء الذّاكرة“) فإن الذّاكرة الوهميّة ليست بالبديل عن الذّاكرة الفيزيائيّة، وليست بالحلّ العمليّ الذي يُمكن الاعتماد عليه، ولا يُمكن بأي حالٍ من الأحوال الاستغناء عن ترقية الذّاكرة الفعليّة الخاصّة بالنظام إنّ كان النظام يستعين بالذّاكرة الوهميّة بشكلٍ كبير. قد لا تبدو فكرة هذا الدليل بتلك الأهميّة لبعض خُبراء الأنظمة، ولكنها في حقيقة الأمر معلومات لا يُمكن تجاهلها، وخاصّةً لأي شخص يستخدم خدمات الاستضافة (hosting services)، وبالتحديد لهؤلاء الجُدد منهم على أنظمة VPS بشكلٍ عام، أو أي خادومٍ مهما كان. مُتطلّبات بيئة العملتتطلّب بيئة العمل إعدادًا بسيطًا للغاية، ومن المُفترض أنّ تعمل هذه التقنيّة على جميع التوزيعات باختلاف أشكالها ونكهاتها، أو مع الأنظمة الوهميّة أو الفيزيائيّة، حتّى أنها تعمل على أنظمة Android، سواءً أجهزة الهاتف المحمول، أو الأجهزة اللوحيّة ولكن بشرط توفّر صلاحيات وصول عالية (root). مُتطلّبات تطبيق هذا الدليلخادوم وهميّ يعمل بأحد أنظمة التشغيل المُعتمدة على Linuxصلاحيات وصول كاملة سواءً كان الخادوم محلي local أو يعتمد على تقنيّة الوصول عن بُعد vnc أو باستخدام تقنية ssh.الأوامر الّتي سيتمّ استخدامها هي: free, swapon, dd, mkswap، والّتي من المُفترض توفّرها على أي منصّة.تَقوم مُعظم المنصّات وبشكل آليّ بإنشاء إما قسم تبادل، أو ملفّ خاص داخل قسم النظام، وذلك خلال عمليّة إعداد النّظام، وبحجمٍ عادةً ما يكون مُعتمدًا على الذّاكرة الحقيقيّة للنظام RAM، فإما أنّ يكون نفس الحجم الذّاكرة أو ضعفها. المحاسن والمساوئتجدُر الإشارة قبل الدخول في التفاصيل، أنّ أقراص SSD: أسرع بكثير من الأقراص الصلبة العاديّة.لا تعاني من انخفاض أداء عند البحث (low seek times)، والذي يُسببه رأس القرص الصلب عند تنقله الفيزيائيّ لقراءة البيانات.معدّل طلبات إدخال وإخراج (IO) مُنخفض خلال الثانية الواحدة.تستطيع القراءة من أجزاء متعدّدة وفي نفس الوقت، بينما لا تستطيع الأقراص الصلبة العاديّة القراءة سوى من جزء مُحدّد في الوقت نفسه.تُقدم أقراص التخزين SSD قيمةً إضافيّة للذاكرة الوهميّة، وتُقلّل من المعاناة الّتي قد يُواجها مُدير النّظام مع الأقراص الصلبة، ومع ذلك فليس من المُستحسن الاعتماد عليها واستخدامها بدلًا من الذّاكرة RAM، خاصّةً مع الخواديم ذات الحِمل العالي: خواديم البريد الإلكتروني (web mail)، أو خواديم الوب (web server)، أو خواديم قواعد البيانات (database server). محاسن استخدام الذّاكرة الوهميّةحماية ضد أخطاء “امتلاء الذّاكرة” (out of memory)، أو ما يُشار إليها بالاختصارOOM، بالإضافة إلى الحماية من انهيار النّظام، والحماية من دخول الخادوم في حالة عدم استقرار.زيادة الذّاكرة المُتوفّرة للنظام، الأمر الّذي يسمح بتشغيل المزيد من البرامج والتطبيقات بنفس الوقت، مع توفّر أمان عالي أثناء عملها.تقوم أقراص التخزين من نوع SSD بالتقليل من الفتور (lag)، بالإضافة إلى التقليل من عدد النقرات (thrashing)، وذلك عن طريق زيادة وقت استجابة الترقيم (paging).مساوئ استخدام الذّاكرة الوهميّةتزداد معدّل النقرات (thrashing)، عندما يكون النّظام مشغولًا جدًا، ويطلب ذاكرة أكثر من المُعدّل الطّبيعيّ، وعندما لا تستطع الذّاكرة الفيزيائية تلبية حاجة النّظام، سيُجبر النّظام على الدخول في دوامة يقوم بها بنقل بيانات البرامج من وإلى القرص، ومن وإلى الذّاكرة العشوائيّة، وعلى مُقتضى الحاجة، ولرُبما تبدو هذه الحالة بالمألوفة لمُستخدمي أنظمة التشغيل ويندوز، عندما يتمّ تحميل النظام فوق طاقته، سيدخل القرص الصلب في قيلولة، قد لا يستيقظ منها قبل أنّ ينتهي فنجان القهوة، ولكن هذه الحالة من المُمكن تجنبها بالإعداد المُناسب، واستخدام أقراص من SSD استهلاك مساحة القرص الصلب، حيث تعتمد هذه المساحة على ذاكرة النّظام الرئيسية، فعند توفّر ذاكرة بسعة 512mb، فمن المُستحسن استخدام 512mb إلى 1.5g للتبديل، ولكن على صِغر هذه المساحة، ستبقى مساحةً ناقصةً من قرص الخادوم في جميع الأحوال. يُنصح بشكلٍ عام باستخدام قرص مُقسّم ومُخصّص لعمليّة التبديل، ولكن هذا الأمر قد لا يتوفّر في بعض الأنظمة المؤجّرة، ولذلك سيكون لا محالة من استخدام نظام ملفّ التبديل (swap file) أو صورة قرص (disk image) كيف يتمّ التأكد من تفعيل خدمة الذّاكرة الوهميّة على الخادوم الخاصّ الوهميّقد يكون الخادوم المؤجّر بالفعل يستخدم الذّاكرة الوهميّة، وللتأكّد من ذلك يُمكن الاستعانة بالأمر free، والّذي يَكشف لمُدير النّظام إن كانت خدمة التبديل مفعّلة أم لا، ويُظهر العديد من الخيارات الإضافيّة، والّتي تكون مُساعدة لمُدير النّظام، مع الانتباه أنّه يجب استخدام المُستخدِم root لتنفيذ الأمر، ولتحديد المُستخدِم الحاليّ يُمكن الاستعانة بالأمر whoami. bash-root@academy.hsoub:/# freeيُظهر الأمر free معلومات عن ذاكرة النّظام الوهميّة والذّاكرة الفيزيائيّة، وفيما إذا كانت الذّاكرة الوهميّة مُفعّلة أم لا، فالمُخرجات التّالية هي لخادوم قد تمّ تفعيل خدمة التبديل عليه: bash-root@academy.hsoub:/# free total used free shared buffers cached Mem: 361996 360392 1604 0 1988 54376 -/+ buffers/cache: 304028 57968 Swap: 249896 0 249896وفي حال كانت خدمة الذّاكرة الوهميّة مُعطّلة ستكون المُخرجات على الشكل التّالي: bash-root@academy.hsoub:/# free total used free shared buffers cached Mem: 361996 360392 1604 0 2320 54444 -/+ buffers/cache: 303628 58368 Swap: 0 0 0يُمكن استخدام الأمر free | grep Swap لعرض المُخرج المطلوب فقطّ، وهو السطر الخاصّ بالخاصيّة Swap. bash-root@academy.hsoub:/# free | grep Swap Swap: 249896 0 249896الفرق بين أقسام التبديل وملفّات التبديلملاحظة حول أقسام التبديل (Swap Partitions)يُفضل بشكلٍ عام استخدام قسم/تجزئة تبديل مُخصّص (dedicated swap partition) على القرص الصلب، وذلك للأنظمة الّتي تعتمد على لينكس في بُنيتها، مع العلم أنّ مُعظم الأنظمة تقوم بهذه العمليّة خلال عمليّة الإعداد (التنصيب)، وفي هذه الحالة ستكون الذّاكرة الوهميّة من نوع “قسم التبديل” (swap partition) في مُعظم الأحيان. ولكن يُمكن استخدام الطريقة الّتي سيتمّ شرحها في هذا الشرح لزيادة الذّاكرة الوهميّة المتاحة باستخدام ملفّ التبديل swap file، ليتمّ به زيادة مساحة قسم التبديل، مع العلم أنّه إنّ كان النّظام يدير عمليّة التبديل، فقد يكون إضافة ذاكرة وهميّة غير ضروريّ، وقد يكون من الأفضل الاعتماد على الإعداد الافتراضيّ. ما هو ملفّ التبديل (Swap File)تخزّن بعض الأنظمة (خاصّةً نظام التشغيل ويندوز) الذّاكرة الوهميّة في ملفّ مُحدّد، بدلًا من استخدام قرص كامل لذلك، وهذا الأسلوب هو المُستخدم دائمًا عندما لا يكون من المُمكن استخدام قسم كامل للذاكرة الوهميّة، وإن هذا النوع من الملفّات يقابله بما يُسمى صورة قرص disk image على أنظمة التشغيل لينكس. ما هو صورة القرص (Disk Image)يتضمّن هذا النوع عادةً ملفّات التبديل وبياناتها، بالإضافة إلى ملفّات النّظام المرتبطة معها، ويُستخدَم هذا النوع في بعض الأنظمة المؤجّرة لأخذ نسخة احتياطيّة كاملة عن النّظام، أو في تهجير النّظام (migration) من مكان إلى آخر، ومن الأمثلة الشائعة أيضًا عن هذا النوع من الملفات هو توزيعات لينكس كيف أنّها تأتي باللاحقة .iso، والّتي تستخدم في تنصيب النّظام كما هو معروف. إنشاء ملفّ تبديل (Creating the Swap File)لا تَسمح بعض الأنظمة المؤجّرة بتقسيم وتهيئة مساحة التخزين، لذلك يَتوجّب على مُدير النّظام استخدام صورة قرص (disk image)، ومع العلم أنّ أنظمة التشغيل المبنيّة على NIX* تستخدم نظامًا خاصًا ومكرّسًا لعمليّة التبديل (swap)، ولهذا السبب يُفضّل البعض قسم التبديل على ملفّ التبديل، ولإنشاء هذا النوع من الملفّات يجب إنشاء صورة قرص فارغة (empty disk image) بحجم مُتوافق مع الذّاكرة الوهميّة المطلوبة، وتهيئتها لبدء العمل. يجب أولًا تحديد مكان الملفّ، ويجب توفّر مساحة كافية على القرص، فعند الرغبة بإضافة ذاكرة وهميّة بحجم 512mb، سيكون عندها ملفّ التبديل تقريبًا بذلك الحجم. يُمكن استخدام الأمر df-h، لاستعراض التقسيمات المُدرجة (mounted partitions)، كما يُظهر هذا الأمر معلومات عن نظام الملفّات المُستخدَم وحجم كل تقسيم، والمساحة الحرّة الخاصّة بكل قسم. سيتمّ إضافة ملفّ التبديل في المسار /var، وبالاسم ”swap.img”، وبالصلاحيات 600، وذلك فقطّ لكي لا يستطيع أيًا كان من المُستخدمين قراءة مُحتويات ذاكرة النّظام (الوهميّة). bash-root@academy.hsoub:/# cd /var bash-root@academy.hsoub:/var# touch swap.img bash-root@academy.hsoub:/var# chmod 600 swap.imgاختيار حجم ملفّ التبديل (Sizing Swap File)سيتمّ في هذه الخطوة اختيار حجم الملفّ، وهو أمرٌ هامٌ جدًا، ويَختلف الحجم الأنسب على حسب نظام التشغيل وحسب الحالة، ولكن بشكلٍ عام، يُنصح دائمًا بأن تكون الذّاكرة الوهميّة أما بنفس حجم ذاكرة الوصول العشوائي (RAM)، وأو ضعف حجمها، ولكن عندما يتوفّر بالنظام ذاكرة فيزيائيّة كبيرة الحجم، فلا يُنصح بتكبير حجم ملفّ التبديل. سيتمّ استخدام الأمر dd لحشو ملفّ التبديل بمعطيات وهميّة، ليتوسع إلى الحجم المطلوب، في المثال التّالي سيكون 1024mb. bash-root@academy.hsoub:/var# dd if=/dev/zero of=/var/swap.img bs=1024k count=1000 1000+0 records in 1000+0 records out 1048576000 bytes (1.0 GB) copied, 4.0868896 s, 253 MB/sتحضير صورة القرص (Disk Image)سيتمّ تطبيق الأمر mkswap، وذلك لتحضير نظام الملفّات للملفّ swap.img، بعد ذلك سيكون الملفّ جاهزًا للاستخدام. bash-root@academy.hsoub:/var# mkswap /var/swap.img Setting up swapspace version 1, size = 1020 GiB no label, UUID=72761533-8xbe-436l-b07e-c0sabe9cedf3كيفيّة تفعيل وتعطيل ملفّ التبديل (Enabling and Disabling Swap)تفعيل ملفّ التبديلسيتمّ استخدام الأمر swapon لتفعيل ملفّ التبديل، مع الانتباه أنه في حال نجاح عمليّة التفعيل، فالأمر السابق لا يَعرض مُخرجات بنجاح العمليّة والحالة النهائيّة، ولذلك يُمكن استخدام الأمر free. bash-root@academy.hsoub:/var# swapon /var/swap.img bash-root@academy.hsoub:/var# free total used free shared buffers cached Mem: 503596 478928 24668 0 38832 102384 -/+ buffers/cache: 337712 165884 Swap: 1048572 1780 1046792ولتعطيل ملفّ التبديل يُمكن استخدام الأمر swapoff /var/swap.img. تفعيل ملفّ التبديل خلال عمليّة الإقلاعيقوم الأمر swapon بتفعيل ملفّ التبديل فقط للإقلاع الحاليّ للنظام، بمعنى أنّه عند إعادة إقلاع الخادوم، سيكون ملفّ التبديل معطلًا، إلا إذا تمّت برمجة الأمر ليتم تنفيذه عند الإقلاع، أو تمّ التعديل على الملفّ /etc/fstab، وهي الطريقة الأسهل والأكثر استخدامًا. ما يجب عمله هو إضافة سطر إلى الملفّ /etc/fstab، ليتمّ تفسيره عند الإقلاع، ولكن يجب الحذر في استخدام هذا الأمر، فالتعديل الخاطئ من شأنه أنّ يعطب النّظام. bash-root@academy.hsoub:/var# echo "/var/swap.img none swap sw 0 0" >> /etc/fstabيُستخدم الرمز >> للإضافة، ولو تمّ استخدام الرمز >، لتمّ الكتابة من جديد ومسح الإعدادات (مُحتويات الملفّ) السابقة. إعدادات إضافيّة ومعلومات تفصيليّةما أنّ يتمّ تفعيل ملفّ التبديل، لتصبح الذّاكرة الوهميّة على أتمّ الاستعداد لتعمل عملها، ولكن هناك بعض التفاصيل الّتي سيتمّ التّطرّق لها لفهم أفضل لعمل هذه التقنيّة. الأولَوِيّاتيجب تحديد أولَويّات عند استخدام أكثر من ملفّ تبديل، أو عند استخدام أقسام موزّعة عبر أجهزة عدّة، بمعنى أنه يجب تحديد ترتيب أولويّة لكل جزء من أجزاء التبديل، فالحاجة إلى توزيع الأولويات هو للتفضيل بين الجزء السريع على البطيء، أو للتفضيل بين قسم التخزين الخامل (idle) على القسم النشط، ولذلك يتمّ تمرير الأولويّة كمُعامل للأمر swapon، أو استخدام الملفّ /etc/fstab في ذلك. سيستخدم النّظام قسم التبديل ذو الأولويّة الأعلى على أقسام التبديل ذو الأولويّة المُنخفضة: ​bash-root@academy.hsoub:/var# swapon -p 100 /var/swap.img bash-root@academy.hsoub:/var# swapon -p 10 /mnt/SecondDrive/swap.imgولاستخدام الملفّ /etc/fstab لتحديد الأولويّة يُمكن كتابة السطور التّالية: /var/swap.img none swap defaults,pri=100 0 0 /mnt/SecondDrive/swap.img none swap defaults,pri=10 0 0خيارات الأمر sysctlسيتمّ استخدام الأمر sysctl، وذلك لتغيير الإعدادات المخصّصة بمُدير الذّاكرة الوهميّة (virtual memory manager) لنظام التشغيل لينكس. يُعتبر الإعداد الخاصّ بـ vm.swappiness هامًا جدًا، ومُهمته إخبار مُتولّي (handler) نواة النّظام كيف من المُفترض أنّ تُستخدَم الذّاكرة الوهميّة، وقيمة هذا الخيار تُحدّد بالنسبة المئويّة أي بين 0-100، والنسبة 60 هي الافتراضيّة في مُعظم التوزيعات، وعند الإعداد يجب الانتباه إلى التّالي: القيمة 0: بالكاد ستستخدم النواة أيًا من مساحة التبديل المتوفّرة، بل ستصب كافة الأحمال على ذاكرة النّظام المتوفّرة أولًا.القيمة 100: ستستخدم النّواة مُعظم مساحة التبديل المتوفّرة، وستُحاول إبقاء المساحة العُظمى من ذاكرة النّظام حرّة للاستخدام.لا يوجد قيمة مثاليّة هنا، أو قاعدة يجب الالتزام بها، بل تختلف الحالة، ولكن القيمة 30% مُناسبة بشكل عام، والّتي من شأنها الموازنة بين التبادل (swapping)، وذاكرة النّظام (system memory). bash-root@academy.hsoub:/var# sysctl -w vm.swappiness=30 vm.swappiness = 30كلمات أخيرةيجب أن يُدرك مُدير النّظام بعد هذا الشرح أهمّيّة ملفّات التبديل ومدى تأثيرها على استقرار النّظام في بيئة العمل الحقيقيّة (production environments)، وهذا من شأنه أيضًا أنّ يسمح لمُدير النّظام باستخدام هذا النوع من التقنيّة في بيئة التّطوير لتجربة بعض التّقنيّات الّتي يعمل عليها. ترجمة – وبتصرّف – للمقال How To Configure Virtual Memory (Swap File) on a VPS لصاحبه Jai Boudreau.