أداء لينكس / المتقدم: الطوبولوجيا والرصد والضبط المنضبط / الدرس 13
فهم محلية NUMA وحجم الصفحة
اربط تموضع المعالج وعقد الذاكرة واللمس الأول والصفحات الضخمة والطوبولوجيا قبل تغيير المحلية.
في هذه الصفحة
أهداف الدرس
- شرح المحلي والبعيد دون كلفة ثابتة مفترضة.
- تمييز سياسة الذاكرة من قيود cpuset.
- تقييم مقايضات الصفحات الضخمة بدليل الحمل.
تغير الطوبولوجيا معنى السعة المتاحة
لآلة NUMA عقد ذاكرة تختلف خصائص الوصول إليها بحسب المعالج. وقد تشترك المعالجات المنطقية في النواة والمخبأ فلا يكفي العدد. تعتمد المحلية التنفيذ وإقامة الصفحات، ولا تكون الأقرب أفضل إن قُيدت. قد تختلف طوبولوجيا الضيف عن الفعلية. سجل المقابس والأنوية وSMT والعقد والمسموح قبل نسبة البطء لخوارزمية أو تغيير الألفة.
تهم السياسة وتاريخ التخصيص معاً
تؤثر سياسة الخيط في التخصيص ضمن موارده، وتقيد cpuset العقد وتتقدم وفق التوثيق. قد يؤثر خيط تهيئة الذاكرة في التموضع، فلا ينقل تثبيت العمال لاحقاً الصفحات. تزيد الموازنة التلقائية والمشترك والهجرة والسياسة التعقيد. لا تستنتج موقع الصفحة من الخيط. اقرأ التهيئة والدلالة وقارن استخدام العقد والوصول زمنياً.
lscpu -e=CPU,CORE,SOCKET,NODE
numactl --hardware
numastat -p 4242
يلزم مختبر NUMA وأدواته والمعرف افتراضي. ليس تخصيص العقد قياس كمون وصول بعيد؛ استخدمه لاختبار التموضع.
تبادل الصفحات الضخمة كلفة الترجمة بكلف أخرى
قد تقلل الصفحات الأكبر كلفة الترجمة لمجموعات مناسبة، وتتغير كلفة التخصيص والضغط والهدر والتعافي. تختلف الشفافة عن hugetlb المحجوزة في الإدارة والفشل. تعتمد الأحجام والضوابط على المعمارية والنواة وقد تتعدد THP. يتجاهل التمكين أو التعطيل الشامل الحمل. قارن التخطيطات والأخطاء والتوقف والإنجاز واحفظ الحدود ومتطلبات الإعادة.
جمع التموضع مع توقيت العمل المفيد
قد تدعم زيادة البعيد فرضية ولا تثبت سبب الذيل؛ فقد يندر الوصول أو يقصد الاشتراك. قارن المراحل وعدادات العتاد المدعومة والأنماط. قد تضغط عقدة مع وفرة الإجمالي. اقرأ أقنعة العقد والقيود الفعلية. حد الكلفة لأن جمع خرائط ضخمة مكلف. لا ننقل صفحات أو نكتب سياسة.
grep -E '^(Cpus_allowed_list|Mems_allowed_list):' /proc/4242/status
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /proc/4242/numa_maps
تفترض القراءات الدعم والتصريح. يشير وضع THP بين القوسين للاختيار الحالي لا توصية عامة أو سياسة الأحجام كاملة.
إبقاء تجارب المحلية ممثلة وقابلة للرجوع
تحفظ التجربة الصحة والمسموح والسعة المشتركة. اختبر التموضع والتهيئة معاً بنسخة معزولة لا تثبيت إنتاج قائم. أدرج البدء والاستقرار؛ فقد يخفي الدفء توقف البداية أو الاحتياطي. قس الكمون والنجاح والضغط والجيران. وثق الطوبولوجيا والصفحات كي لا يرث جهاز آخر استنتاجاً غير مدعوم. النتيجة مشروطة بالحمل والعتاد المقيسين.
الأخطاء الشائعة وإصلاحها
افتراض نقل الصفحات بالتثبيت المتأخر
- لماذا يحدث؟
- اختلط تموضع الخيط والذاكرة.
- كيف تصلحه؟
- افحص تاريخ التخصيص والتخطيطات.
- كيف تتجنب تكراره؟
- صمم التهيئة مع التجربة.
اعتبار التخصيص البعيد إثبات قيد
- لماذا يحدث؟
- لم يُقس تكرار الوصول وارتباط الكمون.
- كيف تصلحه؟
- اربط الطلب ودليل الوصول المدعوم.
- كيف تتجنب تكراره؟
- عامل العدادات فرضيات لا أحكاماً.
تطبيق قاعدة ضخمة واحدة للجميع
- لماذا يحدث؟
- أُهملت المعمارية والمقايضات.
- كيف تصلحه؟
- اختبر سياسة موثقة بنسخة ممثلة.
- كيف تتجنب تكراره؟
- أدرج البدء والضغط والتعافي.
اختبر فهمك
1. انتقل العمال للعقدة 1 بعد تهيئة الكومة في 0. ماذا تفحص؟
اعرض الحل المشروح
افحص بقاء الصفحات والعقد المسموحة وهل الوصول بعيد ومكلف فعلاً. لا ينقل التنفيذ كل تخصيص. تشمل التجربة التهيئة ونمط الوصول المكافئ.
2. تحسن THP الإنتاجية ويسوء p99 البدء. هل تقبل تلقائياً؟
اعرض الحل المشروح
لا. قارن العقد بما فيه الإعادة والتعافي. افحص التخصيص أو الضغط واختبر سياسة أضيق إن بُررت. لا تمحو فائدة الاستقرار تراجع بدء مطلوب.
أهم ما تعلمته
- قس تموضع التنفيذ والذاكرة منفصلين.
- عامل سياسة الصفحة تجربة مشروطة قابلة للرجوع.