READPROFILE(8)

الاسم
readprofile - يقرأ معلومات تشكيلة النواة

موجز

readprofile [خيارات]

الإصدارة

توثق صفحة الدليل هذه الإصدارة 2.0 من البرنامج.

الوصف

يستخدم الأمر readprofile معلومات /proc/profile لطباعة بيانات ascii على المخرج القياسي. نُظم المخرج في ثلاثة أعمدة: الأول هو عدد تكتكات الساعة، والثاني هو اسم دالة C في النواة حيث حدثت تلك التكتكات العديدة، والثالث هو الحمل المُطبع للإجراء، ومحسوب كنسبة بين عدد التكتكات وطول الإجراء. مُلئ المخرج بفراغات لتسهيل القراءة.

This utility is a diagnostic tool and is not designed or intended for use in security-sensitive contexts (e.g., setuid, setgid, sudo, or similar privilege-elevation scenarios). It is installed without any special permissions.

الخيارات

-a، --all
    اطبع كل الرموز في ملف الخارطة. مبدئيًا، لا تُطبع الإجراءات ذات التكتكات المُبلغ عنها.

-b، --histbin
    اطبع أعداد سلال المدرج التكراري الفردية.

-i، --info
    معلومات. يجعل هذا readprofile يطبع فقط خطوة التشكيلة المستخدمة من قبل النواة. خطوة التشكيلة هي دقة ذاكرة التشكيلة الوسيطة، وتُختار أثناء ضبط النواة (من خلال make config)، أو في سطر أوامر النواة. إذا استُخدم مفتاح -t (المقتضب) مع -i فسيُطبع الرقم العشري فقط.

-m، --mapfile mapfile
    يحدد ملف خريطة (mapfile)، والذي يكون مبدئياً /boot/System.map. يجب عليك تحديد ملف الخريطة في سطر الأوامر إذا لم تكن نواتك الحالية هي الأخيرة التي ترجمتها، أو إذا كنت تحتفظ بـ System.map في مكان آخر. إذا انتهى اسم ملف الخريطة بـ ‎.gz‎، فإنه يُفك ضغطه تلقائياً.

-n, --no-auto
    يعطل الاكتشاف الآلي لترتيب البايتات.

-M، --multiplier multiplier
    في بعض البنيات، يمكن تغيير التردد الذي ترسل به النواة مقاطعات التشكيلة (profiling) إلى كل معالج. يتيح لك هذا الخيار ضبط التردد، كمضاعف لتردد ساعة النظام، HZ. أسقطت نواة لينكس 2.6.16 دعم المضاعف لمعظم الأنظمة. يعيد هذا الخيار أيضاً ضبط خبيئة التشكيلة، ويتطلب صلاحيات المستخدم الخارق.

-p، --profile pro-file
    حدد خبيئة تشكيلة مختلفة، وهي مبدئياً /proc/profile. استخدام تشكيلة (profile) مختلفة مفيد إذا أردت 'تجميد' تشكيلة النواة في وقت ما وقراءتها لاحقاً. يمكن نسخ ملف /proc/profile باستخدام cat(1) أو cp(1). لم يعد هناك دعم لخبايأ التشكيلة المضغوطة، كما كان في readprofile-1.1، لأن البرنامج يحتاج لمعرفة حجم الخبيئة مسبقاً.

-r، --reset
    Reset the profiling buffer. This can only be invoked by root, because /proc/profile is readable by everybody but writable only by the superuser.

-s, --counters
    اطبع العدادات الفردية داخل الدوال.

-v، --verbose
    مُطوّل. نُظم المخرج في أربعة أعمدة ومُلئ بالفراغات. العمود الأول هو عنوان RAM لدالة النواة، والثاني هو اسم الدالة، والثالث هو عدد تكتكات الساعة والأخير هو الحمل المُطبع.

-h، --help
    اعرض نص المساعدة ثم اخرج.

-V، --version
    اعرض الإصدار واخرج.

الملفات

/proc/profile
    لقطة ثنائية لذاكرة التشكيلة الوسيطة.

/usr/src/linux/System.map
    جدول الرموز للنواة.

/usr/src/linux/*
    البرنامج الذي تُجرى تشكيلته :-)

العلل

readprofile يعمل فقط مع النواة 1.3.x أو الأحدث، لأن /proc/profile تغير في الخطوة من 1.2 إلى 1.3.

يعمل هذا البرنامج فقط مع نويات ELF. التغيير لنويات a.out بسيط، وتُرك كتمرين لمستخدم a.out.

لتمكين التشكيلة، يجب إعادة تشغيل النواة، لعدم توفر وحدة تشكيلة، ولن يكون بناؤها سهلاً. لتمكين التشكيلة، يمكنك تحديد profile=2 (أو رقماً آخر) في سطر أوامر النواة. الرقم الذي تحدده هو أس العدد اثنين المستخدم كخطوة للتشكيلة.

تُعطل التشكيلة عند تثبيط المقاطعات. وهذا يعني أن العديد من تكات التشكيلة تحدث عند إعادة تمكين المقاطعات. احذر من المعلومات المضللة.

مثال

تصفح خبيئة التشكيلة مرتبة حسب تكات الساعة:

       readprofile | sort -nr | less

اطبع أكثر 20 إجراءً حملاً:

       readprofile | sort -nr +2 | head -20

اطبع تشكيلة نظام الملفات فقط:

       readprofile | grep _ext2

انظر إلى جميع معلومات النواة، مع عناوين الذاكرة (RAM):

       readprofile -av | less

تصفح خبيئة تشكيلة 'مجمدة' لنواة غير الحالية:

       readprofile -p ~/profile.freeze -m /zImage.map.gz

اطلب التشكيلة بتردد 2 كيلو هرتز لكل معالج، وأعد ضبط خبيئة التشكيلة:

       readprofile -M 20

التبليغ عن الأخطاء

لتقارير العِلل، استخدم

التوفر

الأمر readprofile جزء من حزمة util-linux التي يمكن تنزيلها من