logo

مسح ذاكرة التخزين المؤقت لينكس

في هذا البرنامج التعليمي، سوف نتعلم كيفية مسح ذاكرة التخزين المؤقت لذاكرة الوصول العشوائي (RAM) في نظام Linux وتنظيف مساحة المبادلة.

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

مسح ذاكرة التخزين المؤقت لينكس

كيفية مسح ذاكرة التخزين المؤقت في لينكس؟

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

  1. مسح PageCache فقط
  2. مسح الأسنان و inodes
  3. مسح الأسنان و inodes، مسح PageCache

سنناقش الطرق الثلاثة بالتفصيل ونرى تنفيذها العملي أيضًا:

1. مسح PageCache فقط-

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

يأمر

 # sync ; echo 1 > proc/sys/vm/drop_caches 

توضيح:

في الأمر أعلاه، ' مزامنة ' يُستخدم لمسح المخزن المؤقت لنظام الملفات، ويتم فصل الأمر باستخدام ' ; 'يتم تنفيذه بطريقة تسلسلية.

ومع ذلك، تنتظر الصدفة تنفيذ كل أمر أو إنهائه قبل بدء تنفيذ الأمر التالي المتوفر في التسلسل.

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

خطوات مسح PageCache باستخدام Terminal:

الخطوة 1 - افتح Terminal في Linux واكتب الأمر التالي، ثم اضغط على Enter. بمجرد تنفيذ الأمر، سيتم عرض المعلومات الخاصة بذاكرة النظام، كما هو موضح في المثال:

يأمر

int إلى شار جافا
 free 

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

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

مثال

مسح ذاكرة التخزين المؤقت لينكس

2. مسح الأسنان والأسنان-

يتم استخدام هذه الطريقة لمسح ذاكرة الأسنان والإينودات. إنها تمامًا مثل الطريقة الأولى ولكنها مختلفة قليلاً حيث يتم استخدامها لمسح ذاكرة dentries وinodes بدلاً من مسح ذاكرة PageCache. ومع ذلك، فهي تشبه إلى حد كبير الطريقة الأولى التي ناقشناها أعلاه. الأمر المستخدم في هذه الطريقة موضح أدناه:

يأمر

 # sync ; echo 2 > proc / sys / vm / drop_caches 

دعونا نرى مثالاً لفهم كيفية تنفيذ هذه الطريقة:

دمج خوارزمية الفرز

مثال

مسح ذاكرة التخزين المؤقت لينكس

3. مسح الأسنان و inodes، مسح PageCache

إنها واحدة من أكثر الطرق فعالية. ومع ذلك، لا ينصح تقليديًا باستخدامه حتى تعرف ما تفعله لأنه لا يعتبر الأكثر أمانًا للاستخدام، خاصة في الإنتاج. يستخدم الأمر المستخدم في هذه الطريقة 'echo 3 >' الذي يقوم بتنظيف PageCache وdentries وinodes في نفس الوقت.

يأمر:

 # sync ; echo 3 > / porc / sys / vm / drop_caches 

لفهم المزيد من التفاصيل حول كيفية عمله فعليًا، خذ بعين الاعتبار المثال الموضح:

مثال:

مسح ذاكرة التخزين المؤقت لينكس

ملحوظة: لا يُنصح باستخدامه في الإنتاج إلا إذا كنت تعرف ما تفعله لأنه سينظف على الفور PageCache وdentries، وكذلك inodes، كما ناقشنا أعلاه.

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

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

ومع ذلك، فإن مساحة ذاكرة المبادلة تساعد أيضًا النظام باعتبارها كمية صغيرة ولكنها فعالة من ذاكرة الوصول العشوائي. ومع ذلك، لا يُنصح بلا شك باعتبار مساحة المبادلة بمثابة ذاكرة الوصول العشوائي الفعلية.

كيفية مسح مساحة المبادلة في لينكس؟

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

طريقة سهلة للقيام بذلك هي تشغيل 'مجاني-م' لمعرفة ما يتم استخدامه في Swap، RAM، ثم قم بتعطيل Swap.

خريطة الشجرة

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

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

 cat /proc/sys/vm/swappiness 

انتاج |

مسح ذاكرة التخزين المؤقت لينكس

كما ترون، قيمة Swappiness الحالية لنظامنا هي '60' ثانية. ومع ذلك، إذا كنت تريد تغييرها، يمكنك ضبطها في أي مكان بين 0 و100. عملية تحرير (تحديث) هذه القيمة بسيطة للغاية. كل ذلك، تحتاج إلى كتابة الأمر التالي في المحطة الطرفية والضغط على زر الإدخال:

يأمر:

 sudo sysctl vm.swappiness=x 

(هنا x هي قيمة المبادلة التي نريد تعيينها)

كما ترون في المخرجات المذكورة أعلاه، فإن قيمة المبادلة الحالية لنظامنا (أو القيمة الافتراضية) هي 60. دعونا نحاول تغيير قيمة المبادلة إلى 40.

1. افتح المحطة بالضغط على Ctrl+Alt+T على لوحة المفاتيح.

مسح ذاكرة التخزين المؤقت لينكس

2. بمجرد فتح المحطة، اكتب الأمر التالي واضغط على زر الإدخال، كما هو موضح في الصورة أدناه:

 sudo sysctl vm.swappiness=40 

انتاج |

مسح ذاكرة التخزين المؤقت لينكس

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

تَحَقّق

للتحقق من تحديث قيمة المبادلة بنجاح، اكتب الأمر التالي واضغط على زر الإدخال:

 cat /proc/sys/vm/swappiness 

انتاج |

مسح ذاكرة التخزين المؤقت لينكس

كما ترون في الإخراج، قمنا بتحديث قيمة المبادلة بنجاح إلى 40.

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

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

أوامر مفيدة:

هذه بعض الأوامر الأساسية التي ستساعدنا في تنظيف مساحة المبادلة:

مسح ذاكرة التخزين المؤقت لينكس

خطوات مسح ذاكرة المبادلة

دعونا نرى كيفية استخدام هذه الأوامر لمسح مساحة المبادلة أو الذاكرة:

الخطوة 1. افتح 'المحطة الطرفية' بالضغط على '' Ctrl+Alt+T 'على لوحة المفاتيح.

الخطوة 2. بمجرد فتح المحطة الطرفية، اكتب ' سودو -i 'الأمر لأننا قد نطلب امتيازات المستخدم الخارق لتشغيل الأوامر المذكورة أعلاه:

مسح ذاكرة التخزين المؤقت لينكس

الخطوه 3. اكتب الأمر 'free -m' لعرض استخدام الذاكرة من قبل دورة قبالة ال تبديل :

عمر فيكي كوشال
مسح ذاكرة التخزين المؤقت لينكس

الخطوة - 4 الآن اكتب ' المبادلة -أ ' الأمر واضغط على زر الإدخال لإيقاف المبادلة كما هو موضح أدناه:

مسح ذاكرة التخزين المؤقت لينكس

الخطوة5. بعد دورة قبالة ، ينتظر Swap لمدة 40 ثانية على الأقل.

الخطوة6. اكتب الآن 'swap-a' ثم اضغط على 'إدخال' لإعادة تمكين Swap. لرؤية الفرق (أو التغيير) في استخدام الذاكرة، قم بتشغيل الأمر 'free-m' مرة أخرى، كما هو موضح أدناه:

مسح ذاكرة التخزين المؤقت لينكس

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