لقد اقتضى التعرّف على مشكلة اختناق العتاد hardware bottlenecks، ضرورة امتلاك خبرات عالية في العديد من المجالات التقنية، وقد أصبح من السهل مؤخرًا كشف هذه المشاكل باستخدام أدوات مراقبة الأداء مفتوحة المصدر ذات الواجهات الرسومية التي تسمح لأي مستخدم بتشخيص المشكلة التي يعاني منها، دون شراء أدوات مكلفة، ودون الحاجة إلى تعلّم الأوامر المعقدة.
تُعَد الحواسيب أنظمةً متكاملةً تقدم أداءً بسرعة تتناسب مع أبطأ المكونات العتادية الموجودة فيها، فعندما تكون إحدى المكونات أقلّ قدرةً من المكونات الأخرى، فإنه حتمًا سيسبب تأخير عمل كامل النظام. ويُعرف ما سبق باسم "اختناق الأداء"، حيث تتيح إزالة الاختناقات الحادة إمكانية تحسين أداء النظام، بحيث يشعر المستخدم بأنّ الحاسب يعمل بسرعة عالية.
ستشرح هذه المقالة كيفية التعرف على الاختناقات الخاصة بالعتاد في أنظمة لينكس، حيث تنطبق التقنيات المذكورة على كل من الحواسب الشخصية والمخدّمات، حيث ستركز المقالة على الحواسب الشخصية ولن تتضمن اختناقات خاصة بالخوادم مثل تلك الناتجة عن إدارة الشبكة المحلية LAN، أو أنظمة قواعد البيانات التي تحتاج عادةً أدوات خاصة لكشف الاختناق. ستتضمن المقالة أيضًا تعريفًا بمشكلة اختناق الأداء، كما ستتناول بعضًا من الأدوات التي يمكن استخدامها في كشف حدوث الاختناقات، إلى جانب تقديمها لبعض الإرشادات لكشف الاختناق أينما حدث ضمن الحاسوب، ومحاولة حل المشاكل المرتبطة به.
ستركز هذه المقالة تحديدًا على الأدوات مفتوحة المصدر ذات الواجهات الرسومية لكشف ومعالجة مشاكل الاختناقات المختلفة، حيث نجد أن معظم المقالات حول اختناقات الأداء في نظام لينكس تكون معقدة، نظرًا لاستخدام هذه المقالات لأوامر مخصصة، تحتاج إلى مختصين إلى استخدامها؛ إلا أنّ المشاكل الأكثر شيوعًا تُكشف ببساطة من قِبل المستخدم دون الحاجة إلى مثل هذا التعقيد.
تجعل الأدوات ذات الواجهات الرسومية التي تتيحها منصة Open Source لكشف اختناق الأداء أمرًا بسيطًا، فالهدف من هذه المقالة أن تقدّم للقارئ مقاربةً بسيطةً يمكن استخدامها في أية حالة تواجه المستخدم.
من أين نبدأ
يتألف الحاسوب من ستة موارد عتادية أساسية وهي:
- المعالجات
- الذاكرة
- التخزين
- منافذ اتصال USB
- الاتصال بالانترنت
- المعالج الرسومي
يمكن لأيٍ من الموارد السابقة في حال أصبح أداؤه سيئًا، أن يسبب اختناقًا في الأداء، ويجب عند تشخيص الاختناق أن نراقب الموارد الستة سابقة الذكر.
توجد العديد من الأدوات مفتوحة المصدر التي يمكن استخدامها لمراقبة الموارد المختلفة في الحاسوب، حيث سنستخدم أداة GNOME System Monitor لأن مخرجاتها سهلة الفهم. ويمكن الحصول على هذه الأداة بسهولة من مستودعات توزيعات لينكس، حيث سيكون علينا فقط تشغيل الأداة ومن ثم نضغط على تبويب الموارد Resources، ويمكن التعرف على العديد من مشاكل الأداء مباشرةً.
الشكل 1: تكتشف الأداة System Monitor العديد من المشاكل.
تُظهر لوحة Resources ثلاثة أقسام رئيسية هي تاريخ وحدة المعالجة المركزية CPU History، وتاريخ الذاكرة والذاكرة المبدلة Memory and Swap History، وتاريخ الشبكة Network History، حيث يمكن بمجرد إلقاء نظرة سريعة أن نلاحظ إذا كانت المعالجات غارقةً في العمل، أو إذا كان الحاسب قد نفّذ من الذاكرة، أو أنه يستهلك كامل عرض المجال الخاص بالانترنت
يجب تفقد هذه الأداة عند الشعور بأن أداء الحاسب قد أصبح سيئًا لأنها تبين بسهولة بعض الأدلة على مشاكل الأداء الأكثر شيوعًا.
التعرف على اختناقات المعالج
يجب أن نتعرف على العتاد المتاح لدينا عند تشخيص الاختناق، حيث تتوفر العديد من الأدوات للتعرف على مواصفات الحاسوب المستخدم وتفاصيل العتاد الكاملة، وتُعَد الأداة HardInfo من أفضل الأدوات، وذلك لأنها شائعة وتمتلك واجهات رسومية سهلة القراءة.
بعد تشغيل الأداة HardInfo يحصل اختيار التبويب Computer -> Summary، فتظهر لوحة تتضمن معلومات وحدة المعالجة المركزية مثل عدد الأنوية cores والنياسب أو الخيوط threads، والسرعات speeds، كما أنها تتضمن معلومات عن اللوحة الأم وبقية مكونات الحاسب.
الشكل 2: تُظهر واجهة أداة HardInfo التفاصيل عن العتاد المتوفر في الجهاز.
تبيّن الأداة HardInfo أن الحاسب المستخدم في المثال يمتلك وحدة معالجة مركزية فيزيائية واحدة، والتي تتضمن معالجين أو نواتين. حيث تدعم كل نواة استخدام خيطين أو ما يعرف بالمعالجات المنطقية، مما يجعل العدد الكلي المتاح أربع معالجات منطقية، وهذا بالضبط ما أظهره الجزء الخاص بتاريخ المعالج من أداة System Monitor في الشكل 1.
يحدث اختناق المعالج عندما يعجز المعالج عن تلبية الطلبات الواردة، إليه لأنه يكون بحالة انشغال كامل.
يمكن التعرف على هذه الحالة عندما تُظهِر أداة System Monitor أن استخدام المعالج المنطقي تجاوز 80% أو 90% لفترة زمنية مستمرة. حيث نجد في المثال التالي أن ثلاثة من المعالجات المنطقية الأربعة قد استُهلِكت استهلاكًا كاملًا، وهذا ما يُعَد اختناقًا لأنقدرة وحدة المعالجة المركزية المتاحة لم تعد كافيةً لتنفيذ أي من الأعمال الأخرى في حال ورودها.
الشكل 3: اختناق في عمل المعالج
معرفة أي تطبيق هو سبب المشكلة؟
يجب أن نعرف أي تطبيق أو مجموعة التطبيقات التي تستهلك وحدة المعالجة المركزية، حيث يمكن أن نشاهد العمليات مرتّبةً وفقًا إلى نسبة استهلاكها لوحدة المعالجة المركزية عند الضغط على تبويب Processes في أداة System Monitor ومن ثم بالضغط على ترويسة % CPU، كما يمكن عندها معرفة أي من التطبيقات يخنق النظام.
الشكل 4: التعرف على العمليات المسيئة.
تستهلك كل من العمليات الثلاثة الأولى نسبة 24% من موارد وحدة المعالجة المركزية الإجمالي، حيث نلاحظ وجود أربعة معالجات منطقية في النظام، مما يعني أنّ كل عملية تستهلك معالجًا كاملًا كما يُظهر الشكل 3.
تبيّن لوحة العمليات Processes أنّ برنامجًا اسمه analytical_AI هو سبب المشكلة، حيث يمكن الضغط بالزر اليميني عليه ضمن اللوحة لنجد المزيد من التفاصيل حول استهلاكه لموارد الحاسوب، متضمنةً نسبة استهلاك الذاكرة وعدد الملفات المفتوحة وتفاصيل عمليات الإدخال والإخراج، والمزيد من التفاصيل الأخرى.
يمكن في حال كان المستخدم يتمتع بصلاحيات المدير Administrator إدارة هذه العملية، إذ يمكن تغيير أولويتها وإيقافها، أو إعادتها للعمل، أو إنهائها أو قتلها، مما يؤدي إلى حل مشكلة الاختناق مباشرةً.
الشكل 5: الضغط بالزر اليميني على العملية لإدارتها.
كيف يمكن أن نحل مشاكل اختناق المعالجة؟ يمكن في البدائة إدارة العملية التي تكون سبب المشكلة فور حدوثها، حيث يمكن منع الاختناق من الحدوث باستبدال هذا التطبيق بآخر، أو من خلال محاولة تجنب استخدامه أو تغيير سلوك المستخدم عند استخدام هذا التطبيق، إضافةً إلى إمكانية جدولة التطبيق في ساعات عدم استخدام الحاسب من قِبل المستخدم.
يمكن أن تُعالَج مشكلة مخفية في الذاكرة الرئيسية والتي يكون لها تأثير مباشر على عمل وحدة المعالجة المركزية، كما يمكن العمل على إجراء تحسينات في أداء التطبيق أو النظام البرمجي، أو قد تحتاج إلى ترقية العتاد آنذاك لأنه لم يَعُد كافيًا بالنسبة للتطبيقات التي تشغلّها.
اختناقات المعالج الشائعة
يمكن أن نصادف العديد من الاختناقات الشائعة عند مراقبة وحدات المعالجة المركزية باستخدام أداة System Monitor، حيث يمكن في بعض الأحيان حدوث حالة اختناق في أداء أحد المعالجات المنطقية، بينما تكون المعالجات المتبقية ذات مستوى استخدام منخفض، وذلك يعني أنّ أحد التطبيقات المستخدمة لم يُطوّر بذكاء بحيث يستفيد من ميزة وجود أكثر من معالج منطقي في الحاسوب، مما سبب الوصول إلى أقصى أداء ممكن على المعالج المستخدم. ولكن من وجهة نظر مختلفة، نجد أنّ المعالجات المتبقية حرة ومتاحة لتنفيذ أي من الأعمال الأخرى، أي أنّه لم تُشَغَّل كامل موارد الحاسب بما يعيق تنفيذ أعمال جديدة.
يمكن أن نجد معالجًا منطقيًا عالقًا دائمًا بنسبة استخدام 100، وقد يعني ذلك أنه إما مشغول جدًا أو أنه توجد عملية ما قد أصبحت بحالة جمود، كما يمكن أن نتأكد بأن العملية قد أصبحت جامدةً عندما لا تمارس العملية أي نشاط متعلق بـ قرص التخزين (مثلما ستُظهِر لوحة العمليات Processes في أداة System Monitor).
وفي الختام يمكن ملاحظة أنه عندما تصبح جميع المعالجات المنطقية في حالة اختناق، فإن الذاكرة تصبح مستخدمةً كليًا أيضًا. يمكن أن تسبب حالات نفاد الذاكرة Out-of-memory اختناقات في المعالج، وفي هذه الحالة يجب العمل على حل مشاكل الذاكرة المخفية والابتعاد عن التركيز الكثيف على حل مشكلة المعالج، والتي تُعَد عارضًا من أعراض المشكلة الحقيقية.
التعرف على اختناقات الذاكرة
تمتلك الحواسب الشخصية الحديثة اليوم كميةً وافرةً من الذاكرة، لذا نجد أن اختناقات الذاكرة قد أصبحت أقل شيوعًا موازنةً بالسنين الماضية، ومع ذلك يمكن أن نصادف هذه المشكلة عند تشغيل برامج ذات استهلاك ذاكرة كثيف، وخصوصًا إذا لم يكن الحاسب يمتلك حجمًا كافيًا من الذاكرة العشوائية RAM.
يستخدم نظام لينكس الذاكرة من أجل البرامج ومن أجل تخبئة المعطيات المخزّنة على القرص، حيث تفيد الثانية في تسريع الوصول إلى المعطيات الموجودة على القرص، ويمكن لنظام لينكس أن يقرأ المعطيات الذي خزنها على جزء القرص الصلب المستخدم كذاكرة في أي وقت، وتقديم هذه المعطيات للبرامج التي تحتاجها.
تُظهر لوحة الموارد Resources ضمن أداة System Monitor؛ إجمالي الذاكرة والكمية المستخدمة منها، ويمكن في لوحة العمليات Processes مشاهدة استخدام الذاكرة لكل عملية على حدى.
يظهر الشكل الجزء من لوحة الموارد Resources ضمن أداة System Monitor التي تتعقب تراكم استخدام الذاكرة.
الشكل 6: اختناق الذاكرة.
نلاحظ إلى يمين الذاكرة وجود جزء التبادل، وهو مساحة القرص التي يستخدمها نظام لينكس عندما تصبح نسبة الذاكرة المتاحة منخفضة، حيث تُكتَب محتويات الذاكرة إلى القرص من أجل متابعة العمليات، مما يحقق استخدام جزء التبادل مثل توسعة بطيئة بعض الشيء لذاكرة الوصول العشوائي.
يمكن أن نبحث بصورة رئيسية عن مشكلتين في أداء الذاكرة وهي:
- تظهر الذاكرة وكأنها مستخدمة كثيرًا، ويمكن مشاهدة نشاط متكرر أو متزايد على جزء التبادل.
- أصبح كل من جزئي الذاكرة والتبادل مستخدمين كليًا.
تشير الحالة الأولى إلى وجود بطء في الأداء لأن جزء التبادل أبطأ من الذاكرة، وذلك نظرًا لتواجده على القرص الصلب. ويمكن أن يتعايش بعض المستخدمين مع مستوى الأداء بحيث لا يَعُدونه بطيئًا.
تُعَد مسألة اختيار حجم التبادل أمرًا هامًا، حيث يرتبط تحديده بخيارات المستخدم، لذا فعليه أن يقرر على سبيل المثال معدل نشاط جزء التبادل وسرعته والتوقعات منه وغيرها من القضايا التي تؤثر إجمالًا على أداء الحاسب، إذ يرتبط تحديد حجم جزء التبادل المستخدم بحجم الذاكرة الإجمالي الموجود وعادةً لا يتجاوز نسبة 20% من إجمالي الذاكرة.
أما الحالة الثانية التي تحدث عندما تكون كلٍ من الذاكرة وجزء التبادل، فهما مُستخدمان كليًا فهي حالة اختناق الذاكرة، أين يبدو الحاسب وكأنه لا يستجيب، ومن الممكن أن يصل إلى حالة تجمد thrashing والتي لا يكون فيها الحاسب قادرًا على تنفيذ الكثير من العمليات إضافةً إلى عمليات إدارة الذاكرة.
يظهر الشكل 6 أعلاه حاسوبًا قديمًا يمتلك ذاكرة نفاذ عشوائي ذات حجم 2 غيغابايت، وبما أنّ استهلاك الذاكرة تجاوز 80%، فقد بدأ النظام بالكتابة في جزء التبادل، وهو ما سبب انحسارًا في مدى استجابة الحاسب. تُظهر هذه الصورة بأن استهلاك الذاكرة قد تجاوز 90% وأن الحاسب قد دخل في حالة الجمود.
يُعَد الحل النهائي لمشاكل الذاكرة، إما باستخدام ذاكرة أقل إن أمكن ذلك عبر إغلاق التطبيقات غير المستخدمة ومعرفة التطبيقات التي تعمل باستمرار في الخلفيّة مع إيقاف التطبيقات غير الضرورية منها، أو وبدراسة مواصفات الحاسوب ومعرفة حجم الذاكرة الأعظمي المسموح به، حيث يمكن استبدال الذواكر الموجودة ضمن الجهاز بأكبر منها أو توسعة الذاكرة الإجمالية عبر إضافة ذواكر إضافية بشرط دراسة التوافق بين الذواكر الجديدة والقديمة.
التعرف على اختناقات التخزين
توجد اليوم العديد من الأشكال لوسائط التخزين فبعض منها يكون أقراص HDD أو أقراص SSD. يمكن أن تكون واجهات الربط مع هذه الأقراص منافذ PCIe وSATA وThunderbolt وUSB.مهما كان نوع وسيط التخزين الذي تمتلكه فيمكن اتباع نفس الإجرائية للتعرف على اختناقات الأقراص.
نقوم بتشغيل أداة System Monitor ثم من لوحة العمليات Processes نراقب معدلات الإدخال والإخراج من أجل العمليات بشكل إفرادي مما يتيح التعرف على العمليات التي تقوم بمعظم عمليات الإدخال والإخراج من وإلى القرص.
لا تُظهر هذه الأداة معدل النقل التراكمي للقرص، لذا يجب مراقبة الاستهلاك الإجمالي على أحد الأقراص لكشف حدوث اختناق في التخزين، ويمكن تحقيق ذلك باستخدام الأمر atop، وهو متاح في معظم منصات تنزيل البرمجيات.
يمكن أن نكتب الأمر atop ضمن موجه الأوامر، حيث يُظهر الخرج أدناه بأن الجهاز sdb مشغول بنسبة 101%، ويعني ذلك بوضوح أنّه قد وصل الجهاز إلى حد استخدامه الأعظمي وأنه يُقيِّد سرعة النظام على تنفيذ الأعمال.
الشكل 7: يتعرف الأمر atop على اختناق القرص.
يمكن أن نلاحظ أن أحد المعالجات ينتظر القرص الصلب بنسبة 85% من وقته لكي يؤدي مهامه، ويحدث ذلك عندما يصبح جهاز التخزين بحالة اختناق. عمليًا، سيراقب العديد من المستخدمين حدوث انتظار المعالج لوحدات الإدخال والإخراج لكشف حدوث اختناقات التخزين، حيث يمكن استخدام الأمر atop لكشف حدوث اختناق القرص الصلب بسهولة، ومن ثم يمكن استخدام لوحة العمليات Processes من أداة System Monitor للتعرف على العمليات الإفرادية التي تسبب مشكلة الاختناق.
كيفية التعرف على اختناقات منفذ USB
يستخدِم العديد من الناس منافذ USB باستمرار طوال اليوم، ومع ذلك لا يتأكدون مما إذا كان استخدام هذه المنافذ مثاليًا، وذلك مهما كان نوع الجهاز الذي توصله عبر منفذ USB، لهذا يجب التأكد من الحصول على أفضل أداء ممكن من هذه الجهاز.
الشكل 8: تتفاوت سرعة منافذ USB كثيرًا (Howard Fosdick, بناءً على شكل قدمه Tripplite و Wikipedia, منشورة برخصة CC BY-SA 4.0).
يظهر التبويب USB Devices ضمن أداة HardInfo المعايير الخاصة بمنافذ USB التي يدعمها الحاسوب، حيث تتيح معظم الحواسيب إمكانية استخدام منافذ USB بسرعات مختلفة، كما يمكن أن نعرف السرعة لأحد منافذ الـ USB بالاعتماد على لون المنفذ. يمكن أيضًا معرفة سرعة المنفذ الموجود في الحاسب عن طريق موازنة لونه مع الألوان المستخدمة في الشكل السابق، كما يمكن العودة إلى الدليل الورقي أو الإلكتروني المُرفق بالحاسب الشخصي، والذي يتضمن عدد المنافذ الموجودة على الحاسب وسرعة كل منها.
إذا أردنا مشاهدة السرعات الحقيقية التي نحصل عليها، فيمكننا اختبارها باستخدام الأداة GNOME Disks مفتوحة المصدر، حيث سنشغّل الأداة ومن ثم اختيار Benchmark Disk، وعند تشغيل عملية الاختبار، ستظهر السرعة الحقيقية الأعظمية التي يمكن الحصول عليها من أحد المنافذ الذي أوصِل إليه جهاز ما.
يمكن أن نحصل على سرعات نقل متفاوتة من أجل أحد المنافذ، وذلك تبعًا لنوع الجهاز الموصول بالمنفذ، حيث يعتمد تحديد معدل المعطيات على تشكيلة مكونة من المنفذ والجهاز الموصول به. فعلى سبيل المثال، عند وصل جهاز ما يمكن أن يعمل بسرعة 3.1 وقد وُصل بمنفذ ذي سرعة 2.0، فإن الجهاز سيعمل بسرعة 2.0 دون مشاكل ولن يظهر أي إنذار بأن الجهاز يعمل بسرعة أقل من سرعته الأعظمية؛ بينما إذا وُصِل جهاز يعمل بسرعة 2.0 إلى منفذ 3.1، فسيعمل ولكن بسرعة 2.0. لذا فمن أجل الحصول على عمل USB سريع، يجب أن نضمن أن كلًا من المنفذ والجهاز يدعمان السرعة. وتوفر الأداة GNOME Disks الوسائل اللازمة للتحقق من ذلك.
إذا أردنا كشف حدوث اختناقات خاصة بمنافذ USB، فيمكن استخدام نفس الإجراء الذي نفذناه عند التعامل مع أقراص الحالة الصلبة والأقراص الصلبة، حيث نشغّل الأمر atop لكشف وجود اختناق خاص بوسيط التخزين الموصول عن طريق USB، ومن ثم نستخدم برنامج System Monitor من أجل الحصول على تفاصيل فيما يخص العملية التي سببت المشكلة.
كيفية التعرف على اختناقات اتصال الإنترنت
تُظهر لوحة الموارد Resources ضمن أداة System Monitor، سرعة الاتصال بالإنترنت في الزمن الحقيقي كما هو ظاهر في الشكل 1.
توجد العديد من الأدوات المبنية بلغة بايثون لاختبار سرعة الانترنت الأعظمية، ولكن يمكننا اختبار السرعة باستخدام المواقع على الانترنت مثل Speedtest وFast.com وSpeakeasy، حيث يجب علينا إغلاق كل شيء وتشغيل عملية اختبار السرعة فقط، وذلك للحصول على أفضل نتيجة ممكنة، إضافةً إلى إطفاء اتصال VPN وتشغيل الاختبارات في أوقات متفرقة من اليوم، وموازنة النتائج من عدة مواقع اختبار سرعة.
يمكن عندها موازنة النتائج لديك مع سرعة التنزيل والرفع، والتي يدعي مزود الخدمة تقديمها لك، وبهذا الشكل يمكن التأكد من أن مزود خدمة الإنترنت يقدم السرعة الحقيقية التي ادّعى توفيرها للمستخدم.
يمكن في حال وجود موجه Router مستقل أن يتم الاختبار بوجوده وبغيابه، وبهذا يمكن أن نحكم فيما إذا كان الموجه يمثل نقطة الاختناق أم لا. وفي حال وجود خدمات اللاسلكي WiFi، فيجب أن يَجري الاختبار بوجودها وبغيابها، أي بوصل الكابل مباشرةً بين الجهاز المحمول وجهاز المودم)، ففي الحقيقة توجد عدة حالات اشتكى فيها المستخدمون من مزود الخدمة الخاص بهم علمًا أنّ مشكلتهم الحقيقية كانت الاختناق في خدمات الاتصال اللاسلكي والذي كان بإمكانهم حلها بأنفسهم، ففي حال كان أحد البرامج يستهلك كامل اتصال الانترنت، فيجب معرفته باستخدام الأمر nethogs، وهو متاح لدى أغلب منصات تنزيل البرمجيات.
لقد أظهرت أداة System Monitor في أحد الأيام فجأةً وجود استهلاك إنترنت مفاجئ، وعند كتابة الأمر nethogs في موجه الأوامر، حدث التعرف فورًا على سبب استهلاك عرض المجال بأنه عملية تحديث لمضاد الفايروسات Clamav
الشكل 9: تتعرف الأداة Nethogs على البرامج التي تستهلك عرض المجال.
التعرف على اختناقات معالج الرسوم
يجب معرفة نوع معالج الرسوم الموجود في الحاسب، فإذا كان يحدث توصيل الشاشة إلى اللوحة الأم من الخلف في الحاسب الشخصي، فهذا يدل على وجود معالج رسومي مدمج؛ أما إذا كان توصيل الشاشة إلى اللوحة الأم عن طريق بطاقة إضافية تُركّب على اللوحة الأم، فهذا يعني وجود نظام فرعي مستقل لمعالجة الرسوم، والتي تُعرف بإسم بطاقة الفيديو Video Card، أو بطاقة الرسوميات Graphics Card. تكون البطاقات هذه أكثر قوةً وكلفةً من المعالجات الرسومية المدمجة باللوحة الأم، علمًا أن الحواسيب المحمولة تستخدم المعالجات الرسومية المدمجة دومًا ولا يمكن إضافة بطاقة رسومية إليها.
تُظهر لوحة PCI Devices ضمن أداة HardInfo، معلومات حول وحدة معالجة الرسوميات لديك، كما يمكن أن تُظهر كمية الذاكرة المخصصة للفيديو (عن طريق البحث عن الذاكرة المعنونة باسم قابلة للجلب المسبق Prefetchable).
الشكل 10: توفر الأداة HardInfo معلومات عن المعالجة الرسومية.
تعمل وِحدتَي المعالجة المركزية و معالجة الرسوميات بتكامل، حيث يمكن ببساطة أن نقول أن وحدة المعالجة المركزية تحضر الإطارات Frames لوحدة معالجة الرسوميات لتُظهِرها، ويحدث الاختناق في معالج الرسوم عندما تنتظر وحدة المعالجة المركزية العمل من وحدة معالجة الرسوميات، والتي تكون مشغولةً كليًا، حيث يمكن كشف ذلك عن طريق مراقبة معدلات استخدام كلا الوحدتين، إذ تتيح الأدوات مفتوحة المصدر Conky وGlances ذلك بسهولة.
فيما يلي مثال تم الحصول عليه باستخدام الأداة Conky، ويمكن ملاحظة أن النظام يمتلك كميةً وافرةً من قدرة المعالجة في وحدة المعالجة المركزية؛ أما وحدة معالجات الرسوميات، فهي مستهلكة بنسبة 25%، فلو تخيلنا أنّ هذا الرقم قارب الـ 100%، فعندها نعلم أنّ وحدة المعالجة المركزية تنتظر وحدة معالجة الرسوميات، وأنه توجد حالة اختناق في وحدة معالجة الرسوميات.
الشكل 11: تظهر أداة Conky استخدام وحدة المعالجة المركزية ووحدة معالجة الرسوميات (صورة مقتبسة من منتدى AskUbuntu).
يمكن في بعض الحواسيب أن نضطر إلى استخدام أدوات مصنّعة خصيصًا من قِبل الشركة المصنعة لبطاقة الفيديو، وتتوفر هذه الأدوات للتنزيل من موقع GitHub.
الخلاصة
تتألف الحواسيب من مجموعة من الموارد العتادية المتكاملة، حيث يمكن أن تسبب أي منها في حال تأخرها عن تنفيذ الأعمال المسندة إليها؛ اختناقًا في الأداء قد يُسبب بطء أداء النظام كاملًا، لهذا يجب أن نكون قادرين على التعرف على الاختناقات وتصحيحها للحصول على الأداء المثالي.
اقتضى التعرّف على مشكلة اختناق العتاد hardware bottlenecks امتلاك خبرات عالية في العديد من المجالات التقنية، وحديثًا أصبح من السهل كشف هذه المشاكل باستخدام أدوات مراقبة الأداء مفتوحة المصدر ذات الواجهات الرسومية التي تسمح لأي مستخدم بتشخيص المشكلة التي يعاني منها، دون شراء أدوات مكلفة، ودون الحاجة إلى تعلّم الأوامر المعقدة.
جميع الصورة منشورة برخصة CC BY-SA 4.0 لصاحبها Howard Fosdick إلا إن ذكر خلاف ذلك.
ترجمة -وبتصرف- للمقال Identify Linux performance bottlenecks using open source tools لصاحبه Howard Fosdick.
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.