هل يمكن لـ Plex مشاركة وحدة معالجة الرسومات (GPU) مع حاوية Docker أخرى؟

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

نعم، يمكن لـ Plex غالبًا مشاركة وحدة معالجة الرسومات (GPU) مع حاوية Docker أخرى، لكن إتاحة الجهاز نفسه لكلتا الحاويتين لا تحجز الأداء ولا تضمنه لأي من أعباء العمل.

يعتمد القرار على وحدة معالجة الرسومات، وبرنامج تشغيل Linux، وبيئة تشغيل الحاويات، ونوع عبء العمل، وطريقة استخدام كل تطبيق لمحركات الفيديو والحوسبة والذاكرة. عادةً ما تُتاح الرسوميات المدمجة من Intel عبر عُقد الأجهزة في Linux مثل /dev/dri، بينما تستخدم حاويات NVIDIA بيئة تشغيل حاويات NVIDIA أو حجوزات GPU في Docker. اضبط الوصول أولًا، ثم شغّل Plex وعبء العمل الثاني معًا، وتحقق من استمرار Plex في إجراء تحويل الترميز للأجهزة تحت الحمل الذي يهمك فعليًا.

تأكد أولًا من أن Plex يستطيع استخدام وحدة معالجة الرسومات بمفرده

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

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

سجّل وقت بدء تحويل الترميز الأساسي، واستخدام وحدة المعالجة المركزية، واستخدام وحدة معالجة الرسومات/محرك الفيديو، واستقرار التشغيل. يمنحك ذلك نتيجة مرجعية لاختبار المشاركة. ومن دون خط أساس واضح، لن تتمكن من معرفة ما إذا كانت الأعطال اللاحقة ناتجة عن التنافس على الموارد أم عن إعداد وحدة معالجة الرسومات في Plex من الأساس.

أتح الجهاز نفسه للحاوية الثانية بشكل مقصود

بالنسبة إلى NVIDIA، يمكن لـ Docker Compose حجز وحدات معالجة الرسومات حسب العدد أو معرّف الجهاز لخدمة معينة. وإذا جرى إعداد خدمتين لرؤية وحدة معالجة الرسومات نفسها، يمكن لبيئة التشغيل إتاحة ذلك الجهاز لكلتيهما؛ لكن هذا يمثل تحكمًا في الوصول، وليس عقدًا بأداء حصري. أما بالنسبة إلى Intel أو أجهزة Linux الأخرى، فقد يُسمح لكلتا الحاويتين بالوصول إلى عقدة الجهاز ذات الصلة نفسها عندما يسمح برنامج التشغيل بالاستخدام المتزامن.

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

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

اختبر عبءَي العمل معًا وراقب أول مورد يصل إلى حد الإشباع

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

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

إذا استخدم عبئا العمل محركَي GPU مختلفين، فقد تعمل المشاركة جيدًا؛ أما إذا تنافس كلاهما على محركات ترميز/فك ترميز الفيديو نفسها أو الذاكرة أو سعة الطاقة/الحرارة، فقد يتدهور الأداء بشدة. لا تفترض أن انخفاض نسبة «استخدام GPU» الإجمالية يعني أن محرك الفيديو المحدد الذي يحتاج إليه Plex متاح.

-15% OFF

حدد متى لا تعود المشاركة خيارًا مناسبًا

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

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

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

الدعم والنصائح

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.