SYSTEMD-BOOTCHART(1)

الاسم
systemd-bootchart - أداة رسم بياني لأداء الإقلاع

الوصف

systemd-bootchart هي أداة، تُشغل عادة عند بدء تشغيل النظام، تجمع حمل وحدة المعالجة المركزية، حمل القرص، استخدام الذاكرة، بالإضافة إلى معلومات لكل عملية من نظام قيد التشغيل. تُخرج النتائج المجمعة كرسم بياني SVG. عادةً، يُستدعى systemd-bootchart بواسطة النواة بتمرير init=/usr/lib/systemd/systemd-bootchart على سطر أوامر النواة، مع إضافة initcall_debug لجمع بيانات عن خيوط تهيئة النواة. سيقوم systemd-bootchart بعد ذلك بتفرع init الحقيقي لاستئناف بدء تشغيل النظام الطبيعي، مع مراقبة وتسجيل معلومات بدء التشغيل في الخلفية.

بعد جمع كمية معينة من البيانات (عادة 15-30 ثانية، المبدئي 20 ثانية) يتوقف التسجيل ويُولد رسم بياني من المعلومات المسجلة. يحتوي هذا الرسم البياني على أدلة حيوية حول الموارد المستخدمة، وترتيبها، وأين توجد المشكلات المحتملة في تسلسل بدء تشغيل النظام. هو بشكل أساسي نسخة أكثر تفصيلاً من وظيفة systemd-analyze plot.

بالطبع، يمكن استخدام bootchart أيضًا في أي لحظة زمنية لجمع ورسم بعض البيانات لفترة من الوقت. يُوصى باستخدام المفتاح --rel في هذه الحالة.

لا يتطلب Bootchart صلاحيات الجذر، وسيعمل بسهولة كمستخدم عادي.

تُكتب رسوم bootchart البيانية مبدئيًا بختم زمني في /run/log وتُحفظ في السجل مع MESSAGE_ID=9f26aa562cf440c2b16c773d0479b518. حقل السجل BOOTCHART= يحتوي على bootchart بتنسيق SVG.

الاستدعاء

يمكن استدعاء systemd-bootchart بعدة طرق مختلفة:

استدعاء النواة
    يمكن للنواة استدعاء systemd-bootchart بدلاً من عملية init. بدوره، سيقوم systemd-bootchart باستدعاء /usr/lib/systemd/systemd. ستُجمع البيانات عن خيوط تهيئة النواة وأيضًا العمليات بما في ذلك الخدمات التي بدأها systemd.

وحدة systemd
    يُوفر ملف وحدة، systemd-bootchart.service. إذا تم تمكينه عند بدء تشغيل النظام، سيجمع بيانات عن العمليات بما في ذلك الخدمات التي بدأها systemd.

بدأ كبرنامج مستقل
    يمكن تنفيذ systemd-bootchart كتطبيق عادي من سطر الأوامر. في هذا الوضع، يُوصى بشدة بتمرير العلم -r لعدم رسم الوقت المنقضي منذ الإقلاع وقبل بدء systemd-bootchart، لأنه قد يؤدي إلى رسوم بيانية كبيرة جدًا. قد يشمل الوقت المنقضي منذ الإقلاع أيضًا أي وقت كان فيه النظام معلقًا.

الخيارات

يمكن أيضًا تعيين هذه الخيارات في ملف /etc/systemd/bootchart.conf. انظر bootchart.conf(5).

-h، --help
    اطبع نص مساعدة قصير واخرج.

-n, --sample N
    حدد عدد العينات، N، للتسجيل. ستُسجل العينات بفواصل زمنية محددة بـ --freq.

-f, --freq f
    حدد تردد سجل العينة، عدد حقيقي موجب f، بالهرتز. يمكن لمعظم الأنظمة التعامل مع قيم تصل إلى 25-50 دون إنشاء حمل زائد كبير.

-r, --rel
    استخدم الأوقات النسبية بدلاً من الأوقات المطلقة. هذا مفيد لاستخدام bootchart في وقت ما بعد الإقلاع لتحليل نظام تم إقلاعه بالفعل. بدون هذا الخيار، سيصبح الرسم البياني كبيرًا جدًا. إذا تم تعيينه، يبدأ المحور الأفقي عند أول عينة مسجلة بدلاً من الوقت 0.0.

-F, --no-filter
    عطل تصفية المهام التي لم تساهم بشكل كبير في الإقلاع. العمليات قصيرة العمر جدًا (تُرى فقط في عينة واحدة) أو التي لا تستهلك أي وقت CPU كبير (أقل من 0.001 ثانية) لن تُعرض في الرسم البياني الناتج.

-C, --cmdline
    اعرض سطر الأوامر الكامل مع وسائط العمليات، بدلاً من اسم العملية فقط.

-g, --control-group
    اعرض مجموعة التحكم في العملية

-o, --output path
    حدد دليل الإخراج للرسوم البيانية. مبدئيًا، يكتب bootchart الرسوم البيانية إلى /run/log.

-i, --init path
    استخدم هذا الثنائي init. المبدئي هو /usr/lib/systemd/systemd.

-p, --pss
    فعّل تسجيل ورسم استهلاك الذاكرة PSS (الحجم النسبي للمجموعة) للعمليات. راجع filesystems/proc.txt في توثيق النواة لشرح هذا الحقل.

-e, --entropy
    فعّل تسجيل ورسم حجم مجمع الإنتروبيا العشوائي للنواة.

-x, --scale-x N
    عامل القياس الأفقي لجميع مكونات الرسم البياني المتغيرة.

-y, --scale-y N
    عامل القياس العمودي لكافة مكونات الرسم البياني المتغيرة.

الخرج

يولد systemd-bootchart رسومًا بيانية SVG. لعرضها على شاشة رسومية، يمكن استخدام أي عارض يدعم SVG. تجدر الإشارة إلى أن محركات عرض SVG في معظم المتصفحات (بما في ذلك Chrome وFirefox) أسرع بعدة مرات من التطبيقات الرسومية المخصصة مثل Gimp وInkscape. فقط وجّه متصفحك إلى file:///run/log/!

التاريخ

طُبّقت هذه النسخة من bootchart من الصفر، لكنها مستوحاة من إصدارات bootchart السابقة:

bash الأصلي
    نفّذ كود bash/shell الأصلي bootchart. أنشأت هذه النسخة ملف tarball مضغوطًا للمعالجة بتطبيقات خارجية. لم ترسم هذه النسخة أي شيء، بل ولّدت بيانات فقط.

تنفيذ Ubuntu بلغة C
    استبدلت هذه النسخة نسخة shell بمسجل بيانات سريع وفعال، لكنها أيضًا لم ترسم البيانات.

bootchart بلغة Java
    كان هذا التطبيق الرسومي الأصلي لرسم البيانات، مكتوبًا بلغة java.

pybootchartgui.py
    أنشأ pybootchart رسمًا بيانيًا من البيانات التي جمعتها نسخة bash أو C.

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

انظر أيضًا

bootchart.conf(5)

العلل

لا يحصل systemd-bootchart على معلومات طراز القرص الصلب ما لم يُحدد جهاز الجذر بـ root=/dev/sdxY. سيؤدي استخدام UUIDs أو PARTUUIDs إلى الإقلاع بنجاح، لكن لن يُضاف طراز القرص الصلب إلى الرسم البياني.

للأخطاء، يُرجى الاتصال بالمؤلف والمشرف الحالي:
    Auke Kok <auke-jan.h.kok@intel.com>

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.