محتويات الدورة

أداء لينكس / المتوسط: الآلية والتشخيص النطاقي / الدرس 8

تحديد تأخير الجدولة والمزامنة

ميّز انتظار التشغيل وحجب المزامنة وزيادة الخيوط وقيود الألفة قبل تغيير الجدولة.

وقت القراءة التقريبي: 3 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

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

يشمل الزمن حالات خيط متعددة

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

تبديل السياق أحداث تحتاج تفسيراً

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

bash مقارنة التبديل والتموضع لكل خيط
pidstat -w -t -p 4242 1 5
ps -L -p 4242 -o tid,psr,stat,ni,comm

تحتاج الصياغة sysstat ومختبراً ومعرفاً افتراضياً. لا نفترض خرجاً؛ قارن التبديل المقيس بالمعدل والحالات.

الجدولة العادلة حساسة للإصدار

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

إيجاد المالك والمقطع الحرج

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

bash قراءة أدلة جدولة خيط افتراضي
cat /proc/4242/task/4243/status
cat /proc/4242/task/4243/schedstat

تشير المسارات لزوج عملية وخيط مختبري. يعتمد schedstat وحقوله على دعم المحاسبة؛ استخدم التوثيق والفروق ولا تخترع الوحدات.

ضبط التزامن كتحكم في القبول

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

الأخطاء الشائعة وإصلاحها

إضافة خيوط لمسار متسلسل

لماذا يحدث؟
يبقى مالك القفل المرحلة المقيدة.
كيف تصلحه؟
افحص عمل المالك وقلل كلفة المقطع المبررة.
كيف تتجنب تكراره؟
قس الحجب والتنفيذ قبل حجم المجمع.

اعتبار كل تبديل هدراً

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

نسخ معاملات مجدول نواة أخرى

لماذا يحدث؟
يختلف التنفيذ والسياسة المدعومة.
كيف تصلحه؟
اقرأ توثيق النواة والمجدول المثبتين.
كيف تتجنب تكراره؟
سجل الإصدار وتجنب تغييرات المضيف غير الموثقة.

اختبر فهمك

1. ينتظر معظم العمال قفلاً ومالكه التخزين. ما الفرضية المفيدة؟

اعرض الحل المشروح

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

2. لماذا يزيد المجمع الإنتاجية المحلية ويسوء p99 العميل؟

اعرض الحل المشروح

قد يزيد الطلب المتزامن على طابور تال أو حد ذاكرة. قس المسار والطلب والرفض والمهل وقارن الاعتمادات قبل القبول.

أهم ما تعلمته

  • ميّز التنفيذ والقابل والحجب.
  • عامل التزامن والجدولة سياسات مقيسة.

المراجع الرسمية