انتقل إلى المحتوى
أمين أبوزيد
منشورBEG-001-L06

عرض عملي: مراقبة RAM وCPU أثناء فتح التطبيقات

  • الدرس 6 من 6
  • 12 دقيقة قراءة
  • مبتدئ
في هذا الدرس 11 موضوعات

نظرة عامة على الدرس

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

هذا الدرس عرض عملي تمشي فيه خطوة خطوة. وهو أيضًا تحضير لمختبر الوحدة (lab)، أي التمرين العملي الذي تُختم به الوحدة، واسمه اعرف جهازك (Know your machine). نفّذ الخطوات على حاسوبك. ستختلف الأرقام من جهاز إلى آخر، لذلك لن يعطيك هذا الدرس أرقامًا جاهزة لتنقلها. بل يعطيك طريقة للعمل، وجدولًا تسجّل فيه، وأسلوبًا للتفكير فيما تراه.

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

ستحتاج إلى حاسوب يعمل بنظام Windows أو macOS أو Linux، ونحو 20 إلى 30 دقيقة، ودفتر أو ملف نصي تسجّل فيه القراءات. شرح الدرس 5 الأدوات التي ستستخدمها. ولا شيء في هذا الدرس يغيّر إعدادات نظامك.

أهداف التعلّم

بنهاية هذا الدرس ستكون قادرًا على:

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

الشرح

الطريقة: قيمة الأساس، تغيير، قياس، شرح

أي قياس دقيق يمر بأربع خطوات:

  1. قيمة الأساس (Baseline). سجّل الحالة قبل أن تفعل أي شيء.
  2. التغيير (Change). افعل شيئًا واحدًا فقط.
  3. القياس (Measure). سجّل الحالة مرة أخرى.
  4. الشرح (Explain). وضّح لماذا تغيّرت الأرقام، مستخدمًا المفاهيم التي تعرفها.

غيّر شيئًا واحدًا في كل مرة. فإذا فتحت ثلاثة تطبيقات معًا، فلن تعرف أي تطبيق سبّب أي تغيير.

الجزء 1: اعرف جهازك

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

المعلومةWindowsmacOSLinux
طراز وحدة المعالجة وعدد الأنوية (cores)Task Manager > Performance > CPUقائمة Apple (شعار التفاحة) > About This Maclscpu في الطرفية (terminal)
إجمالي الذاكرة العشوائيةTask Manager > Performance > Memoryقائمة Apple > About This Macfree -h
نوع التخزين وسعتهTask Manager > Performance > Disk، أو Settings > System > Storageقائمة Apple > About This Mac > Storage، أو System Informationlsblk أو df -h
نظام التشغيل وإصدارهSettings > System > Aboutقائمة Apple > About This Maccat /etc/os-release

وانتبه إلى أمرين. الأول: الذاكرة العشوائية والتخزين رقمان مختلفان. قد يكون في الجهاز 16 GB من الذاكرة العشوائية و512 GB من التخزين (الدرس 2). فاحرص على تسجيل الرقمين، واكتب بجانب كل رقم ما هو. الثاني: لتعرف هل وحدة التخزين عندك SSD أم HDD، ابحث في معلومات القرص عن كلمات مثل "SSD" أو "solid state" أو "NVMe". وإذا لم تذكر الأداة ذلك، فابحث على الإنترنت عن اسم طراز حاسوبك.

الجزء 2: قيمة الأساس

أغلق كل التطبيقات التي تستطيع إغلاقها، حتى يكون الجهاز هادئًا قدر الإمكان، ثم انتظر نحو دقيقة. بعدها سجّل:

  • الذاكرة العشوائية المستخدمة. في Windows: Task Manager > Performance > Memory، وانظر إلى الرقم المكتوب تحت "In use" (المستخدم الآن). في macOS: Activity Monitor > علامة التبويب Memory، وانظر إلى "Memory Used" (الذاكرة المستخدمة). في Linux: عمود "used" (المستخدم) في ناتج free -h.
  • استخدام وحدة المعالجة. في Windows: Task Manager > Performance > CPU (النسبة المئوية لاستخدام المعالج). في macOS: Activity Monitor > علامة التبويب CPU، وانظر إلى نسبتي idle (الجزء الخامل غير المستخدم) وuser (ما تستخدمه البرامج التي تشغّلها أنت) في أسفل النافذة. في Linux: سطر CPU في أعلى شاشة top.

نادرًا ما تكون القراءة صفرًا حتى والجهاز خامل. فنظام التشغيل وعمليات الخلفية تستخدم دائمًا شيئًا من وحدة المعالجة ومن الذاكرة العشوائية (الدرس 5).

سجّل أيضًا العمليات الخمس الأكثر استخدامًا للذاكرة. رتّب قائمة العمليات حسب الذاكرة، ودوّن لكل عملية اسمها والـ PID الخاص بها ومقدار ذاكرتها. والأدوات هي نفسها التي رأيتها في الدرس 5: علامتا التبويب Processes وDetails في Task Manager، أو علامة التبويب Memory في Activity Monitor، أو top وps في Linux.

الجزء 3: افتح تطبيقًا كبيرًا واحدًا

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

ما الذي تلاحظه:

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

ابحث عن عمليات هذا التطبيق في القائمة. كم عددها؟ وما أرقام الـ PID الخاصة بها، وكم ذاكرة تستخدم كل منها؟ (تذكّر من الدرس 5: قد يتكوّن التطبيق الواحد من عدة عمليات.)

الجزء 4: أغلقه وقِس مرة أخرى

أغلق التطبيق بالطريقة العادية. انتظر بضع ثوانٍ، ثم سجّل الذاكرة العشوائية المستخدمة واستخدام وحدة المعالجة مرة أخرى.

في العادة تنخفض الذاكرة العشوائية المستخدمة، لأن العملية انتهت، واستردّ نظام التشغيل الذاكرة التي كانت تستخدمها (الدرس 4). لكنها قد لا تعود تمامًا إلى قيمة الأساس. ولهذا أسباب طبيعية:

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

لذلك فإن فرقًا صغيرًا بين قيمة الأساس والقراءة الأخيرة ليس علامة على عطل.

كيف تجعل القياس عادلًا

القياسات الحقيقية لا تثبت تمامًا، بل تتذبذب قليلًا. وهذه العادات تساعدك:

  • انتظر بعد كل تغيير حتى تستقر الأرقام.
  • غيّر شيئًا واحدًا بين كل قراءة والتي تليها.
  • كرّر القياس مرة أو مرتين. فإذا اختلفت قراءتان اختلافًا كبيرًا، فالأرجح أن هناك نشاطًا في الخلفية يؤثر فيها.
  • استخدم أداة واحدة في كل القراءات (الدرس 5: كل أداة تقيس الذاكرة بطريقتها).
  • دوّن ما فعلته، لا الأرقام فقط.

من الأرقام إلى الشرح

الشرح الجيد يربط الرقم بمفهوم. قارن بين هاتين الجملتين:

  • ضعيف: "ارتفعت الذاكرة العشوائية من 6.1 إلى 7.4 GB."
  • أفضل: "ارتفعت الذاكرة العشوائية المستخدمة بعد أن فتحت التطبيق، لأن نظام التشغيل حمّل البرنامج من التخزين إلى الذاكرة العشوائية، ولأن العملية الجديدة طلبت ذاكرة عمل."

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

أمثلة

هذه الأمثلة تُريك شكل السجل الجيد. أما الأرقام فمكانها فارغ: ضع فيها قراءاتك أنت.

المثال 1: جدول التسجيل (بسيط)

الخطوةالذاكرة العشوائية المستخدمةاستخدام وحدة المعالجةملاحظات
1. معلومات الجهازإجمالي الذاكرة العشوائية: ___طراز وحدة المعالجة، وعدد الأنوية: ___التخزين: ___ (النوع، السعة)
2. قيمة الأساس (الجهاز خامل)______التطبيقات التي كانت مفتوحة: ___
3. التطبيق مفتوح وانتهى تحميله______التطبيق: ___، العمليات: ___
4. التطبيق مغلق______هل عادت الذاكرة العشوائية إلى قيمة الأساس؟

المثال 2: جملة ملاحظة جيدة (عملي)

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

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

المثال 3: نتيجة غير متوقعة (واقعي)

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

من منظور الـ Backend

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

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

وكثيرًا ما لا توجد على الخادم أداة رسومية، فتؤخذ القراءات نفسها من أوامر مثل top أو free -h. وفي وحدات لاحقة ستتعرف على أدوات مراقبة (monitoring) تسجّل هذه الأرقام على مدى الوقت.

أخطاء شائعة

الخطأ 1: تخطّي قيمة الأساس

من دونها لا تستطيع أن تقول هل الرقم مرتفع أم منخفض، ولا ما الذي غيّره ما فعلته. خذ دائمًا قراءة "قبل".

الخطأ 2: تغيير عدة أشياء في وقت واحد

إذا فتحت ثلاثة تطبيقات ورأيت الذاكرة العشوائية ترتفع، فلن تعرف كم استخدم كل تطبيق منها. غيّر شيئًا واحدًا، ثم قِس، ثم غيّر الشيء التالي.

الخطأ 3: قراءة الأرقام مبكرًا جدًا

بعد فتح التطبيق مباشرة، قد يكون ما زال يُحمَّل. انتظر حتى تستقر الأرقام، واذكر هل سجّلت قيمة الذروة أم القيمة المستقرة.

الخطأ 4: الخلط بين الذاكرة العشوائية والتخزين في جدولك

قد يكون في جهازك 16 GB من الذاكرة العشوائية و512 GB من التخزين. فالسجل الذي يقول "الذاكرة: 512 GB" يخلط بين الاثنين (الدرس 2).

الخطأ 5: الحكم بوجود عطل لأن الأرقام لا تتطابق تمامًا

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

التمارين

جرّب كل تمرين بنفسك. هذه تمارين عملية تنفّذها على جهازك، لذلك ليست لها إجابات ثابتة، لكن توجد إجابات تقارن بها عملك.

المستوى A: الأساس

A1. سجّل طراز وحدة المعالجة، وعدد الأنوية، وإجمالي الذاكرة العشوائية، ونوع التخزين وسعته. واكتب بجانب كل رقم ما هو.

أظهر الحل A1

A1. قيمك أنت. تأكد أنك لم تخلط بين الذاكرة العشوائية والتخزين، وأنك ذكرت نوع التخزين (SSD أو HDD) أو كتبت أنك لم تستطع معرفته.

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

أظهر الحل A2

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

A3. لماذا من المهم أن تأخذ قيمة الأساس قبل التغيير؟

أظهر الحل A3

A3. من دون قيمة الأساس لا تستطيع أن تعرف هل الرقم مرتفع أم منخفض، ولا ما الذي سبّبه تغييرك. والنتيجة هي الفرق بين القراءتين.

المستوى B: تطبيق المفاهيم

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

أظهر الحل B1

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

B2. ابحث عن العمليات التابعة لذلك التطبيق. كم عددها، وما أرقام الـ PID الخاصة بها؟

أظهر الحل B2

B2. قيمك أنت. تأكد أن أرقام الـ PID مختلفة عن بعضها. وقد يكون للتطبيق الواحد عملية واحدة أو عدة عمليات.

B3. أغلق التطبيق، وسجّل الذاكرة العشوائية المستخدمة مرة أخرى. هل عادت تمامًا إلى قيمة الأساس؟ اذكر سببين طبيعيين قد يمنعانها من العودة.

أظهر الحل B3

B3. قيمك أنت. قد لا تعود تمامًا. ومن الأسباب الطبيعية: أن نظام التشغيل يحتفظ ببيانات استُخدمت مؤخرًا في الذاكرة العشوائية الفارغة، أو أن عمليات الخلفية تغيّرت في هذه الأثناء، أو أن عملية مساعدة تابعة للتطبيق ما زالت تعمل.

المستوى C: التحدي

C1. اكتب ثلاث جمل تشرح ما لاحظته: جملة عن الذاكرة العشوائية، وجملة عن وحدة المعالجة، وجملة عن العملية. استخدم كلًّا من هذه الكلمات مرة واحدة على الأقل: التخزين، والذاكرة العشوائية، ووحدة المعالجة، ونظام التشغيل، والعملية.

أظهر الحل C1

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

C2. كرّر القياس مع نوع مختلف من التطبيقات (مثلًا متصفح بدل محرر). أيهما استخدم ذاكرة عشوائية أكثر؟ وأيهما سبّب قفزة أكبر في استخدام وحدة المعالجة؟ واحرص على أن تقول: "على جهازي، في هذا الاختبار".

أظهر الحل C2

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

C3. يقول زميلك: "فتحت التطبيق فارتفعت الذاكرة العشوائية 800 MB، إذن في التطبيق تسرّب ذاكرة (memory leak)". اشرح لماذا هذا الاستنتاج غير مبرَّر، وماذا ستقيس لتتحقق.

أظهر الحل C3

C3. ارتفاع الذاكرة عند فتح تطبيق أمر طبيعي، لأن التطبيق يُحمَّل في الذاكرة العشوائية. أما التسرّب (leak) فهو ذاكرة تزيد باستمرار مع مرور الوقت ولا تُحرَّر أبدًا. وللتحقق، سجّل ذاكرة العملية على فترات (مثلًا كل بضع دقائق) وهي تؤدي العمل نفسه، وانظر هل تستمر في الزيادة. فقراءة واحدة لا تثبت شيئًا.

تحدٍّ صغير

أجرِ التجربة مرة ثانية مع تطبيق مختلف، وقارن بين الاثنين:

  1. أنشئ جدولًا بالصفوف الأربعة نفسها (معلومات الجهاز، قيمة الأساس، التطبيق مفتوح، التطبيق مغلق) لـكل تطبيق.
  2. لكل تطبيق، اكتب جملة واحدة تشرح كل ملاحظة، مستخدمًا المصطلحات: وحدة المعالجة، أو الذاكرة العشوائية، أو التخزين، أو العملية.
  3. أضف جملة أخيرة تذكر فيها شيئًا لست متأكدًا منه، وكيف يمكنك أن تتحقق منه.

راجع عملك: هل أخذت قيمة أساس جديدة قبل التطبيق الثاني؟ هل غيّرت شيئًا واحدًا فقط في كل مرة؟ هل تشرح كل جملة لماذا؟ هذا السجل هو الدليل الذي ستقدّمه في مختبر الوحدة.

الملخص والدرس التالي

أهم النقاط

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

الدرس التالي

بهذا تنتهي هذه الوحدة. أكمل مختبر اعرف جهازك، الذي يعتمد على السجل الذي أعددته هنا، ثم حلّ اختبار الوحدة (quiz). كل ما يأتي لاحقًا في المقرر يُبنى على هذه المفردات.

اختبر نفسك

  1. لماذا نأخذ قيمة الأساس؟
  2. لماذا نغيّر شيئًا واحدًا فقط في كل مرة؟
  3. لماذا قد لا تعود الذاكرة العشوائية تمامًا إلى قيمة الأساس بعد إغلاق تطبيق؟
  4. ما القراءتان اللتان سجّلتهما قبل فتح التطبيق وبعده؟
  5. ما الفرق بين قراءة واحدة مرتفعة وتسرّب الذاكرة؟
أظهر الإجابات
  1. لكي يكون لديك شيء تقارن به، فتعرف ما الذي سبّبه تغييرك.
  2. لكي تعرف أي تغيير سبّب أي فرق.
  3. قد يحتفظ نظام التشغيل ببيانات استُخدمت مؤخرًا في الذاكرة العشوائية الفارغة، وقد تتغير عمليات الخلفية، وقد تكون هناك عمليات مساعدة ما زالت تعمل.
  4. الذاكرة العشوائية المستخدمة، واستخدام وحدة المعالجة.
  5. التسرّب ذاكرة تزيد باستمرار مع مرور الوقت ولا تُحرَّر أبدًا. وقراءة واحدة مرتفعة لا تكفي لإثباته.

المراجع

  • Microsoft Learn, Finding the process ID. يشرح كيف تفتح Task Manager وعلامة التبويب Details، وقد استُخدما في الجزأين 1 و2.
  • Apple Support, View information about Mac processes in Activity Monitor. يصف قائمة العمليات وترتيبها حسب العمود. أما الأسماء الدقيقة لقوائم شاشات معلومات النظام فتختلف من إصدار إلى آخر، ولم يُتحقق منها في كل إصدار، لذلك استخدم خانة البحث في نظامك إن وجدت اسم قائمة مختلفًا.

التطبيق

طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.

المختبر والتمارين الاختبار

تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.

اكتب للبحث في المستويات والمراحل والوحدات والدروس.