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



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

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

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

نوع المُحتوى


التصنيفات

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

التصنيفات

  • 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. عند تشغيل برنامج ما على الحاسوب تعمل جميع عناصره مع بعضها كفريق لتشغيل البرنامج وتنفيذ الأوامر، يوجد عنصر في ذلك الفريق له دور مهم في عمل الحاسوب وهو الذاكرةMemory. الجميع يعلم أنَّ حواسيبهم تحوي ذاكرة ولكن هل تعلم ما هي أنواع الذاكرات التي بداخله وكيف تعمل؟ ستتعلم في هذه المقالة مبدأ عمل الذاكرة وأنواعها. مفهوم الذاكرة ومبدأ عملها يشير مصطلح الذاكرة إلى إمكانيَّة حفظ وتخزين البيانات والملفات لمدّة من الزمن، ويحوي الحاسوب نوعين رئيسييْن من الذاكرة وهي ذاكرةٌ متطايرةٌ Volatile memory تخزِّن البيانات أثناء عمل الحاسوب فقط وتتلاشى بعد إيقافه مثل ذاكرة الوصول العشوائي RAM‏ (Random Access Memory)، وذاكرةٌ ثابتةٌ (غير متطايرة) Non-volatile memory تحتفظ بالبيانات حتى بعد انقطاع التيار عنها مثل ذاكرة القراءة فقط ROM‏ (Read-Only Memory). يُخزَّن نظام التشغيل والصور والفيديو والملفات وغيرها تخزينًا دائمًا على القرص الصلب HDD‏ (Hard Drive Disks) الذي يدعى "ذاكرة ثانوية" فالمعالج لا يتعامل معه مباشرةً لبطئه الشديد. وعند تشغيل الحاسوب أو برنامجٍ ما يُنقل نظام التشغيل والبرامج من الذاكرة الثانوية إلى الذاكرة الرئيسية - وهي من نوع RAM‏ - ليعالج إذ إنَّ هذه الذاكرة أسرع بكثير من القرص الصلب. تتحوَّل جميع البيانات والملفات إلى النظام الثنائي (أصفار وآحاد) لأنَّ عتاد الحاسوب -كما تعلم- يتعامل مع هذا النظام الرقمي فقط أي لا يفهم إلا القيمة 0 أو 1، لذا تتألف الذاكرة من خلايا متجاورة بشكل مصفوفةٍ (أسطر وأعمدة) لها عناوين تخزِّن كلَّ خلية منها القيمة1 بحفظها شحنة كهربائية والقيمة 0 بتفريغها من شحنتها الكهربائية (لا توجد شحنة فيها)، وتختلف طريقة عمل الخلايا وتخزين شحنتها باختلاف نوع الذاكرة. إذا أردت مثلًا تخزين الرقم 55 فيحوله حاسوبك إلى النظام الثنائي ويصبح 110111 الذي يحتاج إلى ست خلايا لتخزينه، هذا يعني أنَّ كلَّ خلية في الذاكرة تخزِّن بتًّا bit واحدًا. أنواع الذاكرة سنشرح أهمَّ نوعين في الذاكرة وهما ذاكرة القراة فقط ROM وذاكرة الوصول العشوائي RAM. ذاكرة القراءة فقط ROM هي ذاكرةٌ يمكن القراءة منها فقط دون الكتابة أو التعديل عليها، وتُخزِّن الشركة المصنعة محتواها أثناء تصنيعها، وتحتفظ بالبيانات عند انقطاع التيار الكهربائي. تُستخدم لأغراض محدَّدة كتخزين ملفٍّ أو برنامجٍ (مثل برنامج من نوع Firmware) وقراءته دون الحاجة إلى التعديل عليه ومن الأمثلة على هذه الذاكرة هي ذاكرة البيوس. يوجد ثلاثة أنواعٍ لهذه الذاكرة وهي: الذاكرة القابلة للبرمجة PROM‏ الذاكرة القابلة للبرمجة PROM‏ (Programmable ROM) أو الذاكرة القابلة للبرمجة مرةً واحدةً OTP NVM‏ (One-Time Programmable Non-Volatile Memoty) هي ذاكرةٌ رقميةٌ يكون فيها كل بت مقفلًا بعنصر إلكتروني لا يمكن التعديل عليه. تُكتب البيانات على هذه الذاكرة بعد تصنيعها وتبقى فيها على الدوام دون إمكانية تعديلها أو إزالتها، ولكتابة محتواها توضع في جهاز يدعى "مبرمج PROM". يُستخدم هذا النوع في الأجهزة المحمولة، والمتحكمات المصغَّرة microcontrollers، وغيرها من الأجهزة الإلكترونية. الذاكرة القابلة لإعادة المسح والبرمجة EPROM يمكن مسح محتوى هذه الذاكرة EPROM‏ (Erasable Programmable ROM) خلافًا للنوع السابق بتعريض الخلايا للأشعة فوق البنفسجية ثمَّ إعادة الكتابة عليها. تستهلك هذه العملية (المسح وإعادة البرمجة) من عمر الذاكرة وتصل عدد مرات المسح وإعادة البرمجة إلى 1000 مرة. يوجد أعلى الذاكرة فتحةٌ تسمح بمرور الأشعة فوق البنفسجة إلى الخلايا لمسح محتواها دفعةً واحدةً، لذا يجب نزع هذه الذاكرة من اللوحة ووضعها على جهاز البرمجة لبرمجتها مجدَّدًا وغالبا توضع على مقبسٍ لتسهيل نزعها وإعادة تركيبها. مصدر الصورة الذاكرة القابلة لإعادة المسح والبرمجة إلكترونيًا EEPROM تشبه بنية هذه الذاكرة EEPROM‏ (Electrically Erasable Programmable ROM) النوع EPROM باستثناء أنَّ عملية المسح والبرمجة تُجرى إلكترونيًّا أي لا داعي لإزالتها من اللوحة أو الدارة. مصدر الصورة: Nevit Dilmen عبر WikiMedia Commons. عملية الكتابة إلى هذه الذاكرة Flashing بطيئة نسبةً إلى عملية القراءة منها، ومن أنواعها: الذاكرة EAROM‏ (Electrically alterable ROM): سرعة الكتابة عليها بطيئةٌ جدًا وتحتاج إلى تيارٍ مرتفع (12 فولط)، وتُستخدم كثيرًا للقراءة في الحالات التي تندر فيها الكتابة عليها. وتُستعمل حاليًا مع الذاكرة CMOS عوضًا عن الذاكرة SRAM التي تحتاج إلى تيار لحفظ محتوياتها. الذاكرة Flash: تدعى اصطلاحيًّا الذاكرة الومضية وعُرفيًا الذاكرة "فلاش" وتتَّصف بأنَّ سرعة القراءة والكتابة عليها كبيرةٌ مقارنة مع أنواع الذاكرة EEPROM الأخرى، وعمرها طويلٌ إذ تصل عدد مرات الكتابة والمسح إلى المليون مرة (لا تخف من تلف ذاكرتك لكثرة تهيئتها)، وسعتها كبيرة تزيد عن 64 غيغابايت. بدأ استخدامها في مجالات كثيرة لتحل مكان الأنواع السابقة من الذاكرة ROM وأجهزة التخزين الميكانيكية أيضًا مثل القرص الصلب نظرًا لمزاياها الكثيرة. تبين الصورة ذاكرة فلاش على اليسار ومتحكم الذاكرة على اليمين. مصدر الصورة: Nrbelex عبر Wikimedia Commons. ذاكرة الوصول العشوائي RAM هي من نوع الذاكرة المتطايرة التي تفقد محتواها بانقطاع التيار الكهربائي عنها ولكن توجد أنواع ثابتة من هذه الذاكرة طُورت حديثًا لا تفقد محتواها بانقطاع التيار تسمى ذاكرة الوصول العشوائي الثابتة NVRAM‏ (Non-Volatile RAM). سميت "ذاكرة الوصول العشوائي" نظرًا لإمكانية الوصول إلى أيِّ موقعٍ في هذه الذاكرة مباشرةً بزمنٍ ثابتٍ سواءً الوصول إلى أول أو آخر عنوان في الذاكرة خلافًا لذاكرة الوصول التسلسلي SAM‏ (Serial Access Memory) التي يجب قراءة جميع الخلايا من البداية للوصول إلى آخر خلية. كما أن زمن القراءة والكتابة في هذه الذاكرة متساويان. توجد أنواع متعدِّدة لهذه الذاكرة منها ما هو قيد التطوير مثل T-RAM و Z-RAM ولكن سنشرح النوعين الأساسيين وهما SRAM والنوع DRAM. الذاكرة الساكنة SRAM‏ (Static RAM) هي ذاكرة من النوع المتطاير وسميت ساكنة لتفريقها عن الذاكرة الديناميكية DRAM‏ (Daynamic RAM) التي تحتاج إلى عملية تنشيط لاستمرار حفظ البيانات كما سنرى لاحقًا. تتألف الخلية الواحدة عادةً من ستة ترانزستورات ويمكن أن تتراوح بين 4 إلى 10 ترانزستورات من نوع MOSFET لحفظ بت واحد (0 أو 1)، وتحتفظ الخلايا بشحنتها بدوام وجود التيار ما لم يُمح محتواها أو يُعدَّل عليها. توضح الصورة خلية واحدة مؤلفة من 6 ترانزستورات. مزايا هذه الذاكرة: الاستهلاك القليل للطاقة. لا تحتاج إلى دارة تنشيط للخلايا. السرعة الكبيرة في القراءة والكتابة. ومساوئها تتلخص بما يلي: ثمنها المرتفع. التناسب الطردي بين السعة والحجم، فكلما زادت سعتها زاد حجمها. تُستعمل على نطاق واسع في الأجهزة المحمولة، والكاميرات الرقمية، والحاسوب للتخبئة Caching في المعالج وكذاكرة تخزين مؤقت في القرص الصلب وغيرها. تصنف هذه الذاكرة بحسب نوع الترانزستورات في الخلية أو كونها متطاير أم ثابتة، التي تسمى الذاكرة الساكنة غير المتطايرة nvSRAM، أو بحسب أدائها. الذاكرة الديناميكية DRAM‏ (Daynamic RAM) هي ذاكرة متطايرة تتألف الخلية فيها من مكثف وترانزستور، وعندما تكون شحنة المكثف موجبة تأخذ الخلية القيمة 1 وعندما تكون سالبة تأخذ القيمة 0. لمَّا كان الترانزستور هو شبه ناقل فإنه يسرِّب جزءًا من شحنة المكثِّف التي تتلاشى في النهاية وحينئذٍ تفقد الخلية شحنتها وبالتالي تفقد الذاكرة بياناتها لذا يعاد تجديد شحنة المكثفات خلال فترات منتظمة وتدعى هذه العملية "إعادة تنشيط الذاكرة" ولهذا السبب سميت "ديناميكية". ولا يمكن أثناء عملية التنشيط القراءة أو الكتابة من الذاكرة الأمر الذي يبطئ من سرعتها. مزايا هذه الذاكرة هي: رخيصة الثمن. بساطة بنيتها (ترانزستور ومكثف لكلِّ خليَّة). سعتها الكبيرة وصغر حجمها. ومن مساوئها: الاستهلاك الكبير للطاقة. الحاجة إلى تنشيط خلاياها لدوام حفظ محتواها. بطيئة بالموازنة مع الذاكرة SRAM. تُستخدم ذاكرة رئيسية في الحاسوب (يشار إليها دائمًا "RAM") وذاكرة رسومية Graphics memory في بطاقة العرض. يوجد نوعان للذاكر ة DRAM وهما: الذاكرة الديناميكية غير المتزامنة ADRAM‏ (Asynchronous DRAM) يكون تردُّد هذه الذاكرة مختلفًا عن تردُّد الناقل الأمامي FSB واستُخدمت قديمًا ذاكرة رئيسية في الحاسوب، ومن أنواعها FPM ADRAM‏ (Fast Page Mode ADRAM) والنوع EDO ADRAM‏ (Extended Data Out ADRAM). الذاكرة الديناميكية المتزامنة SDRAM‏ (Synchronous DRAM) يكون تردُّد هذه الذاكرة متزامنًا مع تردُّد الناقل الأمامي FSB للوحة الأم إذ يتزايد بذلك معدَّل سرعة نقل البيانات، وتُستخدم ذاكرة رئيسية في الحواسيب. ولهذه الذاكرة أنواع متعددة وهي: SDR SDRAM ‏(Single Data rate): هي أول جيل من ذاكرات SDRAM حيث حلَّت مكان الذاكرة BEDO-ADRAM الأحدث من نوع ADRAM. وهي قديمةٌ وبطيئةٌ جدًا (تنقل كلمة واحدة كلَّ نبضة) ومحالٌ أن تراها إلا في الصور، وقيمة الجهد الكهربائي لها هو 3.3 فولط. DDR SDR ‏(Doual Data Rate): صدرت عام 2000 وتدعى أيضًا DDR1 وتتمايز بعرض نطاقٍ Bandwidth مضاعف لناقل البيانات وسرعة نقل كبيرة، وهي قديمة. DDR2 SDRAM: صدرت عام 2003 وتصل سرعتها إلى ضعف سرعة DDR مع استهلاك أقل للطاقة. DDR3 SDRAM: صدرت عام 2007 وهي أيضًا أسرع من DDR2 وأقلُّ استهلاكًا للطاقة، ويوضح الجدول التالي أنواعها. الاسم القياسي تردد الذاكرة (ميغاهيرتز) زمن الدورة (نانو ثانية) تردد ناقل الدخل والخرج (ميغاهيرتز) معدل البيانات (ميغاهيرتز) الجهد الكهربائي (فولط) اسم الوحدة معدل النقل (ميغابايت/ثانية) DDR3-800 100 10 400 800 1.5 PC3-6400 6400 DDR3-1066 133 7.5 533 1066 1.5 PC3-8500 8533 DDR3-1333 166 6 666 1333 1.5 PC3-10600 10666 DDR3-1600 200 5 800 1600 1.5 PC3-12800 12800 DDR3-1866 233 4.3 933 1866 1.5 PC3-14900 14933 DDR3-2133 266 3.75 1066 2133 1.5 PC3-17000 17066 معدل النقل = معدل البيانات x عرض ناقل الذاكرة (8 بايت أي 64 بت)، وتردُّد الذاكرة هو مقلوب زمن الدورة مع مراعاة الواحدات. DDR4 SDRAM: صدرت عام 2014 وهي سريعةٌ جدًا وتعمل بجهدٍ منخفض، ويوضح الجدول أنواعها. الاسم القياسي تردد الذاكرة (ميغاهيرتز) زمن الدورة (نانو ثانية) تردد ناقل الدخل والخرج (ميغاهيرتز) معدل البيانات (ميغاهيرتز) الجهد الكهربائي (فولط) اسم الوحدة معدل النقل (ميغابايت/ثانية) DDR4-1600 200 10 800 1600 1.2 PC4-12800 12800 DDR4-1866 233 7.5 933 1866 1.2 PC4-14900 14933 DDR4-2133 266 6 1066 2133 1.2 PC4-17000 17066 DDR4-2400 300 5 1200 2400 1.2 PC4-19200 19200 DDR5 SDRAM: أعلنت شركة JEDEC في شهر آذار من هذا العام أنَّ هذه الذاكرة قيد التطوير وستصدر العام القادم 2018. ملحوظة: بعض الشركات لا تسمي الذاكرة باسمها القياسي مثل DDR4-xxx بل تستخدم الاسم PC4-xxxx حيث يشير الرقم في الاسم الأول إلى معدَّل البيانات أما الثاني فيشير إلى معدَّل النقل. تنبيه: إذا أردت شراء ذاكرتين لحاسبك أو أردت شراء ذاكرةٍ جديدةٍ لإضافتها إلى ذاكرة حاسوبك فانتبه إلى توافق التردُّد بين الذاكرتين أي إذا كان لديك ذاكرة DD3-1600 فاشتر ذاكرة أخرى ذات النوع DD3-1600 فإن لم تكن الذاكرتان بالتردد نفسه فلن يعمل الحاسوب، وانتبه أيضًا إلى التوافق مع تردد الناقل الأمامي في اللوحة الأم. عامل الشكل تركَّب الذاكرة ضمن شقوق التوسعة على اللوحة الأم وتتألف من لوحة دارات مطبوعة PCB عليها عددٌ من الرقاقات التي تحوي الخلايا بداخلها (الترانزستورات والمكثفات)، وتحدِّد عوامل الشكل عدد الرقاقات ومكان توضُّعها وشكل تعليب الذاكرة وتُستخدم غالبًا مع الذاكرة DRAM، وأشهر عوامل الشكل المستخدمة هي: SIMM‏ (Single In-line Memory Module) عرض ناقل البيانات في هذا التعليب إمَّا 8 بت (30‎-pin SIMM) وبذلك تكون السعة العظمى للذاكرة هي 16 ميغابايت أو 32 بت (72‎-pin SIMM) الذي تكون فيه السعة العظمة للذاكرة هي 128 ميغابايت. واستُخدم هذا العامل في ثمانينات القرن الماضي وحتى عقدٍ من الزمن إذ حلَّ مكانه العامل DIMM. DIMM‏ (Dual In-line Memory Module) هو الأكثر شهرة في الحواسيب المكتبية ويتراوح عدد الرقاقات على الذاكرة بين 4 إلى 9 وتختلف وظيفة التماسات في الوجه الأول للذاكرة عن وظيفة التماسات في الوجه الآخر مما يضاعف عدد التماسات. توضح الصورة الفرق بين أنواع الذاكرة SDRAM ذات عامل الشكل DIMM. مصدر الصورة: Cmuelle8 عبر WikiMedia Commons. SO-DIMM‏ (Small Outline DIMM) هو أصغر من العامل DIMM حيث يصل إلى نصف حجمه ويُستخدم في الأنظمة ذات المساحات المحدودة مثل الحواسيب المحمولة أو الطابعات المكتبية أو الأجهزة الشبكية ...إلخ. توضح الصورة الفرق بين أنواع الذاكرة SDRAM. مصدر الصورة عبر WikiMedia Commons. MicroDIMM عامل الشكل هذا أصغر حجمًا من SO-DIMM ويُستخدم في الأجهزة الإلكترونية ذات المساحة الصغيرة كالحواسيب المحمولة الصغيرة. يبين الجدول التالي عدد التماسات لعوامل الشكل DIMM و SODIMM و MicroDIM مع أنواع الذاكرة SDRAM. اسم الذاكرة DIMM SODIMM MicroDIMM DDR1 184 200 172 DDR2 240 200 214 DDR3 240 204 214 DDR4 288 256 - ملحوظة: في امتحان compTIA A+ 220-901 توجد أسئلةٌ عن أنواع الذواكر بالتفصيل حتى عن الأرقام في الجداول السابقة (تردد الذاكرة ومعدَّل نقل البيانات وعدد التماسات ...إلخ). الخلاصة تعلمنا في هذا الدرس مبدأ عمل الذاكرة الرقمية وأنواعها وأصبحت الآن قادرًا على التمييز بين مختلف أنواع الذواكر ومزاياها، وإن كان لديك حاسوب ٌمكتبي فلا تتردَّد بنزع الذاكرة وفحص نوعها وعامل شكلها. المصادر Static rando-access memory، ويكيبيديا. Computer memory :Chris Woodford،‏ Explain that stuff. Read-only memory، ويكيبيديا. Programmable read-only memory، ويكيبيديا. EPROM، ويكيبيديا. EEPROM، ويكيبيديا. Dynamic random-access memory، ويكيبيديا. Synchronous dynamic random-access memory، ويكيبيديا. DDR SDRAM، ويكيبيديا. DDR2 SDRAM، ويكيبيديا. DDR3 SDRAM، ويكيبيديا. DDR4 SDRAM، ويكيبيديا. DIMM، ويكيبيديا. SO-DIMM، ويكيبيديا.
  2. واحدة من أسهل الطرق لزيادة استجابة خادومك وجعله قويًا ضدّ أخطاء الذاكرة التي قد تطرأ على تطبيقاتك التي تشغّلها عليه هي عبر إضافة مساحة Swap. Swap هي مساحة من القرص الصلب يتم تعريفها على أنّها مكان يمكن لنظام التشغيل تخزين البيانات فيها مؤقتًا في حال عدم توفّر مكان لذلك على الذاكرة العشوائية (RAM). يعطيك هذا القدرة على زيادة كميّة المعلومات التي يمكن لخادومك الاحتفاظ بها في "ذاكرته" ريثما يعمل. سيتم استخدام المساحة من على القرص الصلب مؤقتًا عندما لا يكون هناك مساحة كافية في الذاكرة العشوائية لحفظ البيانات. المعلومات التي يتم كتابتها على القرص الصلب ستكون أبطء في الاستجابة من تلك الموجودة في الذاكرة العشوائية، ولكنّ نظام التشغيل سيفضّل الإبقاء على بيانات التطبيق العامِلة حاليًا في الذاكرة العشوائية مع استخدام قرص Swap للبيانات الأقدم. بشكلٍ عام، يعتبر امتلاك قرص Swap صمّام أمانٍ فاصل يتم استعماله تلقائيًا عند نضوب الذاكرة العشوائية من خادومك. في هذا الدرس، سنشرح كيفية إنشاء وتمكين ملفّ swap على توزيعة Ubuntu 14.04. ملاحظة: على الرغم من أنّ قرص Swap مستحسن للأنظمة التي تستخدم الأقراص الصلبة التقليدية، إلّا أنّ استخدام Swap مع أقراص SSD يمكن أن يسبب مشاكل وتهتّكًا للعتاد مع مرور الوقت. القيام بذلك قد يؤثر على بنية العتاد التحتية التي توفّر الخدمة لك ولجيرانك. إذا كنت تحتاج تحسين أداء خادومك، فإننا ننصحك بترقيته. سيوفّر لك هذا نتائج أفضل بما يتعلّق بالأداء وسيقلّص من احتمالية حصول مشاكل مع العتاد. التحقق من معلومات Swap على النظام قبل أن نبدأ، سنأخذ جولةً على نظام التشغيل الخاصّ بنا لنرى ما إذا كنّا نمتلك بالفعل قرص Swap أم لا. يمكننا امتلاك أكثر من قرص أو ملفّ Swap واحد، ولكن بشكلٍ عام، يجب أن يكون واحد منها كافيًا فقط. يمكننا رؤية ما إذا كان النظام يمتلك أيّ ملفّات Swap مُعدّة مسبقًا عبر كتابة: sudo swapon -s Filename Type Size Used Priority إذا رأيت فقط ترويسة الجدول، كما رأينا أعلاه، فهذا يعني أنّك لا تمتلك حاليًا أيّ قرص Swap على النظام. طريقة أخرى للتحقق من مساحة swap هي عبر استخدام الأداة free، والتي تقوم بإظهار استخدام الذاكرة الحالي لنا. يمكننا رؤية نسبة استخدام الذاكرة الحالية و swap محسوبةً بالميغابايت عبر كتابة: free -m total used free shared buffers cached Mem: 3953 154 3799 0 8 83 -/+ buffers/cache: 62 3890 Swap: 0 0 0 كما يمكنك أن ترى، مساحة Swap على نظامنا هي 0. وهذا مطابقٌ لما رأيناه في الأمر السابق. التحقق من المساحة المتوفرة على القرص الصلب الطريقة النموذجية لتخصيص المساحة لـ Swap هي عبر استخدام (partition) قسم من القرص الصلب له، ولكنّ التعديل على التقسيم الافتراضي للقرص الصلب ليس دومًا ممكنًا. يمكننا ببساطة إنشاء ملفّ swap عادي ليعمل على قسمٍ موجودٍ بالفعل. قبل أن نقوم بهذا، يجب أن نعرف حجم المساحة الحرّة المتوفّرة على القرص الصلب. يمكننا الحصول على هذه المعلومات عبر كتابة: df -h Filesystem Size Used Avail Use% Mounted on /dev/vda 59G 1.3G 55G 3% / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 2.0G 12K 2.0G 1% /dev tmpfs 396M 312K 396M 1% /run none 5.0M 0 5.0M 0% /run/lock none 2.0G 0 2.0G 0% /run/shm none 100M 0 100M 0% /run/user كما يمكنك أن ترى في السطر الأول، يمتلك القرص الصلب الخاصّ بنا حوالي 55 جيجابايت من المساحة المتوفّرة، لذا فإنّه يوجد لدينا مساحة كبيرة لاستغلالها. هذا طبعًا على خادوم افتراضي خاصّ جديد بحجمٍ متوسّط، قد يكون خادومك مختلفًا تبعًا لاستخداماتك. على الرغم من أنّه يوجد العديد من الآراء حول الحجم المناسب لملفّ swap، إلّا أنّه يعتمد في الواقع على رغبتك واحتياجات تطبيقاتك. بشكلٍ عام، من المنصوح أن تجعل حجم swap مساويًا أو مضاعفًا لحجم الذاكرة العشوائية (RAM) المتوفّرة على خادومك. بما أنّ خادومنا يحتوي 4 جيجابايت من الذاكرة العشوائية هنا، وبما أنّ ضعف هذا الرقم سيعطينا ملفّ swap كبير جدًا لن نحتاج بتاتًا لاستخدامه كلّه أو حتّى نصفه، فسنقوم فقط باستخدام 4 جيجابايت من المساحة لملفّ swap. إنشاء ملف Swap الآن وبعد أن عرفنا المساحة المتوفّرة على القرص الصلب الخاصّ بنا، يمكننا المضي قدمًا في إنشاء ملفّ swap على نظام الملفّات الخاصّ بنا. سنقوم بإنشاء ملفّ يدعى swapfile ضمن المسار الجذر (/). يجب أن يكون حجم الملفّ مساويًا لحجم المساحة التي نريد تخصيصها لـ Swap، وهناك طريقتان للقيام بالعملية: الطريقة التقليدية البطيئة يمكننا إنشاء ملفّ جديد بحجمٍ معيّن عبر استخدام الأمر dd. تقوم هذه الأداة متعددة الاستخدامات بكتابة البيانات من موقعٍ إلى آخر. يمكننا أن نستعمل هذه الأداة للقيام بكتابة أصفار إلى ملفّ من جهازٍ خاص في أنظمة لينكس موجود في المسار dev/zero/، يقوم هذا الجهاز فقط بطباعة عددٍ من الأصفار حسب ما يُطلبُ منه. نقوم بتحديد حجم الملفّ عبر استخدام bs لحجم الكتلة الواحدة (block size) وcount لعدد الكتل (blocks) التي نريد إنشاءها. يمكننا إسناد أيّ قيمة إلى كِلا المُعامِلين، ولكن ما يهم حقًا هو نتيجتهما معًا. كمثال، في حالتنا نريد إنشاء ملف بحجم 4 جيجابايت. يمكننا القيام بهذا عبر تحديد حجم الكتلة الواحدة بـ 1 جيجابايت وبتحديد عدد الكتل إلى 4: sudo dd if=/dev/zero of=/swapfile bs=1G count=4 4+0 records in 4+0 records out 4294967296 bytes (4.3 GB) copied, 18.6227 s, 231 MB/s تحقق من الأمر الذي تريد إدخاله قبل الضغط على زرّ Enter، لأنّ هذا الأمر يمكن أن يقوم بمسح بياناتك في حال قمت بتوجيه of (والذي يرمز إلى output file أو ملف الخرج) إلى المسار الخاطئ. يمكننا أن نرى أنّه قد تمّ إنشاء الملفّ بحجم 4 جيجابايت عبر كتابة: ls -lh /swapfile -rw-r--r-- 1 root root 4.0G Apr 28 17:15 /swapfile إذا قمت بتنفيذ الأمر السابق لإنشاء ملف swap بنجاح، فقد تكون قد لاحظت أنّه أخذ وقتًا ليكتمل، في خادومنا التجريبي، سترى أنّ النظام استغرق 18 ثانية ليقوم بإنشاء الملفّ، لأنّه يجب عليه كتابة 4 جيجابايت من الأصفار إلى ملفّ على القرص الصلب. إذا كنت تريد معرفة كيفيّة إنشاء الملفّ بشكلٍ أسرع، فقم بحذف الملفّ عبر الأمر أدناه وطبّق الخطوة التالية: sudo rm /swapfile الطريقة السريعة الطريقة الأسرع لإنشاء نفس الملفّ هي عبر استخدام برنامج fallocate. يقوم هذا الأمر بإنشاء ملفّ بحجمٍ معيّن، دون الحاجة إلى كتابة أصفار مثلًا أو محتوىً آخر إليه. يمكننا إنشاء ملفّ بحجم 4 جيجابايت عبر كتابة: sudo fallocate -l 4G /swapfile ستقوم الطرفية بالرجوع إليك في نفس اللحظة تقريبًا. يمكننا التحقق مما إذا كان حجم الملفّ صحيحًا أم لا عبر كتابة الأمر: ls -lh /swapfile -rw-r--r-- 1 root root 4.0G Apr 28 17:19 /swapfile وكما ترى، تمّ إنشاء ملفّ Swap الخاصّ بنا بالمساحة المطلوبة بشكلٍ صحيح. تفعيل ملف Swap الآن تمّ إنشاء الملفّ، ولكنّ النظام لا يعرف أنّه من المفترض به أن يستخدمه بعد. يجب أن نقوم بإخبار النظام بأن يقوم بتهيئة هذا الملفّ كقرص Swap ومن ثمّ تفعيله. ولكن قبل أن نقوم بهذا، علينا ضبط صلاحيات الملفّ بحيث لا يكون قابلًا للقراءة لأيّ أحد باستثناء المستخدم الجذر (root). السماح للمستخدمين الآخرين بقراءة أو كتابة محتويات هذا الملفّ قد يكون خطرًا أمنيًا كبيرًا. يمكننا قفل هذه الصلاحيات عبر كتابة: sudo chmod 600 /swapfile تحقق الآن من أنّ الملفّ يمتلك الصلاحيات الصحيحة عبر تطبيق: ls -lh /swapfile -rw------- 1 root root 4.0G Apr 28 17:19 /swapfile كما نرى، فقط المستخدم الجذر يمتلك صلاحيات الكتابة والقراءة حاليًا. الآن وبعد أن أصبح ملفّنا أكثر أمانًا، يمكننا أن نخبر نظامنا بأن يقوم بتهيئته كملفّ swap عبر تنفيذ: sudo mkswap /swapfile Setting up swapspace version 1, size = 4194300 KiB no label, UUID=e2f1e9cf-c0a9-4ed4-b8ab-714b8a7d6944 أصبح الملفّ الآن جاهزًا ليتم استخدامه كمساحة Swap. يمكننا تفعيله عبر الأمر: sudo swapon /swapfile يمكننا كذلك اختبار نجاح العملية أو فشلها عبر سؤال النظام الآن عمّا إذا كان يتعرّف على مساحة Swap أم لا عبر كتابة: sudo swapon -s Filename Type Size Used Priority /swapfile file 4194300 0 -1 لدينا ملفّ swap جديد هنا. يمكننا أيضًا استخدام أداة free للتأكّد مما وجدناه: free -m total used free shared buffers cached Mem: 3953 101 3851 0 5 30 -/+ buffers/cache: 66 3887 Swap: 4095 0 4095 تمّ الآن إعداد swap بنجاح، وسيقوم النظام باستخدامه عندما يحتاجه فقط. استخدام ملف Swap بشكل دائم لقد قمنا بتفعيل ملفّ Swap الآن، ولكن عندما نقوم بإعادة التشغيل، فإنّ الخادوم لن يقوم تلقائيًا بإعادة تفعيل الملفّ. يمكننا تغيير هذا عبر تعديل ملفّ fstab. قم بتعديل الملفّ بصلاحيات الجذر باستخدام محرر نصوصك المفضّل: sudo nano /etc/fstab في نهاية ملفّك، تحتاج إلى إضافة سطرٍ يخبر نظام التشغيل أن يقوم باستخدام الملفّ الذي أنشأته تلقائيًا: /swapfile none swap sw 0 0 احفظ الملفّ واخرج عندما تنتهي. اضبط إعدادات Swap الخاصة بك هناك بعض الخيارات المؤثّرة على أداء خادومك التي يمكنك ضبطها وتعديلها للحصول على أداءٍ أفضل عند التعامل مع swap. يقوم مُعامِل swappiness بإعداد معدّل تكرار النظام للقيام بعملية نقل البيانات من الذاكرة العشوائية إلى ملفّ swap، وهذه القيمة محصورة بين الـ0 والـ100 وتمثّل نسبةً مئوية. عندما تكون القيمة أقرب إلى الصفر، فإنّ النظام لن يقوم بنقل أيّ بيانات من الذاكرة العشوائية إلى swap إلّا في حال الضرورة القصوى. تذكّر أنّ التعامل مع swap "مكلف" حيث أنّه بطيء بشكلٍ ملحوظ مقارنةً بالذاكرة العشوائية مما يسبب بطئًا في الأداء. لذا فإنّ إخبار النظام بألّا يقوم بالاعتماد على swap كثيرًا سيقوم بتسريع أداء نظامك بشكلٍ عام. إذا كانت القيمة أقرب إلى المئة، فإنّ النظام سيقوم بنقل المزيد من البيانات إلى swap بهدف حفظ المزيد من الذاكرة العشوائية. اعتمادًا على ماهيّة التطبيقات التي تقوم بتشغيلها على خادومك واحتياجاتك الشخصية، قد يكون هذا الخيار أفضل لك في بعض الحالات. يمكننا أن نرى قيمة مُعامِل swappiness الحالية عبر تطبيق: cat /proc/sys/vm/swappiness 60 بالنسبة لجهاز سطح مكتب (استخدام عادي)، فإنّ قيمة 60 ليست سيئة. ولكن بالنسبة إلى خادوم، فإننا قد نود تقريب القيمة إلى الصفر. يمكننا تغيير قيمة swappiness إلى قيمة أخرى عبر استخدام الأمر sysctl. كمثال، لتغيير قيمة swappiness إلى 10، يمكننا تنفيذ: sudo sysctl vm.swappiness=10 vm.swappiness = 10 سيستمر هذا التغيير إلى حين عملية إعادة التشغيل المقبلة. يمكننا جعل هذا التغيير دائمًا حتّى بعد إعادة التشغيل عبر إضافة سطرٍ معيّن إلى نهاية ملفّ etc/sysctl.conf/: sudo nano /etc/sysctl.conf في نهاية الملفّ أضف: vm.swappiness=10 احفظ الملفّ واخرج عندما تنتهي. قيمة أخرى مرتبطة قد تودّ تغييرها هي vfs_cache_pressure. يقوم هذا المُعامِل بتحديد إلى أيّ مدى سيقوم النظام بالاحتفاظ بالخبيئة (cache) للبيانات الأكثر تكرارًا في مقابل البيانات الأخرى. تكون هذه البيانات عادةً متعلقة بنظام الملفّات نفسه، وغالبًا ما يتكرر طلبها، لذلك فإنّه من الممتاز لنظامك أن يقوم بالاحتفاظ بهذه البيانات في ذاكرته المؤقتة. يمكنك رؤية قيمة هذا المُعامِل الحالية عبر الأمر: cat /proc/sys/vm/vfs_cache_pressure 100 حاليًا، يقوم نظامنا بحذف البيانات والمعلومات من الخبيئة (cache) بسرعة سريعة جدًا. يمكننا جعل هذه العملية أكثر بطئًا عبر استخدام قيمة كـ50: sudo sysctl vm.vfs_cache_pressure=50 vm.vfs_cache_pressure = 50 مرةً أخرى.. هذه القيمة ليست دائمة حاليًا وسيتم فقدانها عند إعادة التشغيل، يمكننا تغيير هذا الوضع عبر إضافتها إلى ملفّات إعداداتنا كما فعلنا مسبقًا: sudo nano /etc/sysctl.conf في نهاية الملفّ، أضف القيمة التي تريدها: vm.vfs_cache_pressure = 50 احفظ الملفّ واخرج عندما تنتهي. الخاتمة اتبّاع الخطوات في هذا الدرس سيعطيك بعض الهواء لتتنفسه عندما يتعلّق الأمر باستخدام الذاكرة العشوائية في نظامك. مساحة Swap مفيدة بشكلٍ لا يصدّق في تفادي بعض المشاكل الشائعة. إذا كنت تصادف أخطاء (OOM (Out of memory أو عدم توفّر الذاكرة بشكلٍ شائع، أو إذا كنت ترى أنّ نظامك غير قادر على استخدام التطبيقات التي تحتاجها، فإنّ الحلّ الأفضل لك هو في ضبط إعدادات تطبيقاتك أو في ترقية موارد خادومك، كما أنّ تفعيل مساحة Swap على خادومك سيعطيه المزيد من المرونة ويوفّر لك المزيد من الوقت على خادومٍ بمواصفاتٍ عادية. ترجمة -وبتصرف- للمقال How To Add Swap on Ubuntu 14.04 لصاحبه Justin Ellingwood.