أداء لينكس / المتوسط: الآلية والتشخيص النطاقي / الدرس 7
استخدام عدادات perf لاختبار فرضيات المعالج
اختر أحداثاً محدودة وفسر نسب العدادات وحدود العتاد والصلاحيات قبل توصيف التطبيق.
في هذه الصفحة
أهداف الدرس
- فصل عد الأحداث عن التوصيف بالعينات.
- تفسير الدورات والتعليمات دون جعل IPC هدفاً.
- مراعاة دعم الأحداث وتعددها ونطاقها.
اختيار الأحداث من الآلية
يعد perf stat أحداثاً مختارة خلال رصد محدد، ويجمع perf record عينات لنسبتها لاحقاً. يختبر العد زيادة العمل أو تغير التنفيذ ولا يحدد كل سطر مكلف. ابدأ بمقارنة تطبيق ومجموعة أحداث صغيرة. سجل نطاق العملية أو الخيط والوراثة والفترة واستبعاد المستخدم أو النواة. يشمل العام عملاً آخر وصلاحيات وخصوصية مختلفتين. الأمثلة لهدف مختبري افتراضي ولا تنفذ على المضيف.
تعتمد الأحداث على المنصة
تعتمد العدادات العتادية على المعالج وPMU والافتراضية والنواة. يصف perf list المعروف محلياً وقد تختلف دلالة الاسم وقيوده بالمعمارية. قد تُمنع الحاوية رغم دعم المضيف. تشارك perf_event_paranoid والقدرات في السياسة؛ ولا يبرر الرفض تعطيلها. تقدم CAP_PERFMON امتيازاً أخص من الإدارة العامة حسب النواة. نسق الجمع المعتمد ولا تغير السياسة أو تنسخ ترميزاً خاماً بين المعالجات.
perf --version
perf list
cat /proc/sys/kernel/perf_event_paranoid
لا تخفف الأوامر السياسة أو تبدأ تسجيلاً. الأحداث والصلاحيات خاصة بالمختبر؛ احفظها مع التجربة اللاحقة المعتمدة.
تحتاج النسب مجتمعات متكافئة
تقسم IPC التعليمات المتقاعدة على الدورات وفق التعريفات. ليست الأعلى أفضل تلقائياً؛ فقد ينفذ الحمل تعليمات أكثر أو يحذف عملاً مطلوباً أو يغير المسار. قارن العمل المفيد والزمن والتعليمات لكل طلب والنسب معاً. تؤثر الترددات والتفرعات والذاكرة والمتجهات. لا يحدد عد إخفاق مخبأ عام مستواه أو يشرح التأخير؛ فاستخدم توثيق أحداث المعالج وفرضية قابلة للدحض.
إبقاء الرصد محدوداً
ينبغي أن يدوم عد PID قدر الحاجة ويحدد العمر الصحيح. قد تفوت القصيرة العمل الممثل وتخلط الطويلة مراحل أو نشرات. قد يؤدي تجاوز سعة العدادات إلى تعدد زمني وتقديرات محجمة ووقت تشغيل أقل. تحقق من توافق القياس قبل قسمة العدادات. سجل غير المتاح ولا تستبدله خفية. راجع حساسية المسارات والآثار قبل النشر.
perf stat -e task-clock,cycles,instructions -p 4242 -- sleep 5
المعرف افتراضي مصرح في المختبر. يحد sleep الفترة، ولا نقدم أرقاماً لاعتماد العد على العمل وPMU والصلاحيات والتعدد.
التطبيع بالعمل المكتمل
إذا أكمل المرشح ضعفي التقارير فقد يقل التعليم لكل تقرير رغم زيادة المجموع. وقد لا يعالج تحسن نسبة عتاد مع ثبات الكمون القيد. قارن المجتمع والديمومة والخلفية نفسها. استخدم النتيجة لاختيار ملف استدعاءات محدود أو مراجعة خوارزمية. احفظ التعريفات والتقرير الخام لإعادة الاستدلال. لا يبرر عد تغيير النواة دون رابط سببي مقيس.
الأخطاء الشائعة وإصلاحها
استخدام IPC هدف قبول
- لماذا يحدث؟
- حلت نسبة عتاد محل الإنجاز.
- كيف تصلحه؟
- قارن الزمن والأخطاء والعداد لكل عمل.
- كيف تتجنب تكراره؟
- اجعل هدف الخدمة فوق نسب التشخيص.
قسمة عدادات متعددة غير متوافقة
- لماذا يحدث؟
- لم ترصد الأحداث زمن تنفيذ متكافئاً.
- كيف تصلحه؟
- افحص نسب التشغيل وقيود تجميع الأحداث.
- كيف تتجنب تكراره؟
- استخدم أحداثاً قليلة مبررة.
تعطيل أمان perf بعد الرفض
- لماذا يحدث؟
- عومل حد الوصول كعطل أداة.
- كيف تصلحه؟
- اطلب جمعاً معتمداً محدوداً.
- كيف تتجنب تكراره؟
- خطط الامتياز والخصوصية قبل التوصيف.
اختبر فهمك
1. يتقاعد A بمئتي مليون تعليمة لمئة تقرير وB بثلاثمئة مليون لمئتين. قارن الكلفة.
اعرض الحل المشروح
يكلف A مليوني تعليمة للتقرير وB مليوناً ونصفاً. كلفة B أقل لكن القبول يحتاج تقارير وكموناً وصحة وأخطاء متكافئة. يضلل المجموع وحده.
2. لماذا لا ينتج حدث غير مدعوم استنتاجاً مفيداً عن المخبأ؟
اعرض الحل المشروح
لم تقس المنصة الحدث؛ غياب العدد ليس غياب الإخفاق. أكد الدعم والدلالة واحفظ الفشل واختر بديلاً موثقاً للفرضية نفسها.
أهم ما تعلمته
- اختر أحداثاً محدودة وطبع بالعمل المفيد.
- افحص الدعم والتحجيم والأمان والدلالات.