تخطَّ إلى المحتوى

hotspot - واجهة رسومية لملفات Linux perf

hotspot - واجهة رسومية لملفات Linux perf

hotspot (من KDAB) هي واجهة رسومية Qt لمحترف Linux perf. يمكنك التسجيل مع perf record كالمعتاد ثم فتح perf.data الناتجة في hotspot لاستكشافها كـ رسوم بيانية لهبية تفاعلية و شجرة استدعاء من أعلى إلى أسفل ومن الأسفل إلى الأعلى وعرض المتصل/المستقبل وخيوط زمنية لكل خيط وتحليل off-CPU. يحول إخراج perf report الصعب القراءة إلى ملف تعريفي مرئي وقابل للملاحة — وحتى يمكنه إطلاق وتسجيل perf لك.

التثبيت

النظام الأساسيالأمر
Debian/Ubuntusudo apt install hotspot
Fedorasudo dnf install hotspot
Arch Linuxsudo pacman -S hotspot
AppImageقم بالتحميل من صفحة GitHub Releases (محمول)
المتطلباتlinux-perf / perf مثبت

التسجيل (طريقتان)

# الخيار أ: التسجيل مع perf ثم الفتح في hotspot
perf record --call-graph dwarf -F 999 ./my-program args
hotspot perf.data

# الخيار ب: اسمح لـ hotspot بالتسجيل لك (علامة التبويب "Record" واجهة رسومية)
hotspot   # اختر ثنائي الخيارات والخيارات واضغط Record
علم perfالغرض
--call-graph dwarfأفضل فك معلومات المكدس (يحتاج معلومات التصحيح)
--call-graph fpفك معلومات مؤشر الإطار (أسرع ويحتاج -fno-omit-frame-pointer)
-F 999عينة في 999 Hz
-p PIDسجل عملية تعمل
-gتفعيل الرسوم البيانية الاستدعاء

عرض

عرضيعرض
ملخصعدد العينات والخيوط والرموز الأكثر سخونة
الرسم البياني اللهبمكدسات مجمعة؛ العرض = الوقت
من الأعلى إلى الأسفلشجرة استدعاء من الجذور إلى الأوراق
من الأسفل إلى الأعلىوظائف ورقية ساخنة والمتصلين بها
المتصل/المستقبلتكلفة داخلة/خارجة لكل رمز
الخيط الزمنينشاط لكل خيط بمرور الوقت

الملاحة

الإجراءالاستخدام
انقر فوق إطارتكبير/تصغير الرسم البياني اللهب إلى هذه الشجرة الفرعية
بحثتصفية الرموز حسب الاسم
حدد نطاق زمني (الخيط الزمني)تحليل التركيز على مرحلة
اقلب (من الأسفل إلى الأعلى)ابحث عن وظائف ورقية باهظة الثمن
تصفية حسب الخيط/العمليةعزل عامل

تحليل Off-CPU

يمكن لـ hotspot تصور حيث تم حجب الخيوط (الانتظار) وليس فقط حرق CPU — مفيد لمشاكل الكمون.

# سجل مفاتيح الجدولة لرؤية off-CPU
perf record --call-graph dwarf -e cycles \
  -e sched:sched_switch --switch-events ./my-program
hotspot perf.data

الحصول على مكدسات جيدة

الحاجةيفعل
رموز قابلة للقراءةبناء مع معلومات التصحيح (-g) لا تنزع
مكدسات عميقة--call-graph dwarf
مكدسات رخيصةمؤشرات الإطار + --call-graph fp
رموز kernelsysctl kernel.kptr_restrict=0 و تشغيل perf كجذر
أذونات perfsysctl kernel.perf_event_paranoid=1 (أو أقل)

سير العمل الشائع

# ملف تعريفي برنامج CPU-bound واستكشف الرسم البياني اللهب
perf record --call-graph dwarf -F 999 ./app
hotspot perf.data

# التحقيق في السبب الذي يجعل الطلب بطيئاً (وقت off-CPU المحجوب)
perf record --call-graph dwarf -e sched:sched_switch --switch-events ./server
hotspot perf.data   # افحص الرسم البياني اللهب off-CPU

hotspot مقابل Front Ends perf الأخرى

الجانبhotspotperf reportبرامج FlameGraphsamply
واجهة المستخدمQt GUITUI/نصSVG ثابتFirefox Profiler
Off-CPUنعممحدوديدويمحدود
سجلات لكنعمN/A (perf)لانعم
الأفضل لـتحليل perf التفاعليعرض نص سريعSVGs قابل للمشاركةعبر الأنظمة الأساسية

موارد