runqlat.bt(8) System Manager's Manual runqlat.bt(8)

runqlat.bt - تاخیر صف اجرای پردازنده (CPU) را به صورت هیستوگرام نمایش میدهد

runqlat.bt

این ابزار زمان صرف‌شده در انتظار در زمان‌بند پردازنده (CPU scheduler) برای نوبت اجرا روی پردازنده را ردگیری می‌کند. این معیار اغلب «تأخیر صف اجرا» (run queue latency) یا «تأخیر زمان‌بند» نامیده می‌شود. این ابزار این تأخیر را به صورت یک هیستوگرام توانی از ۲ بر حسب نانوثانیه نمایش می‌دهد، که امکان بررسی توزیع‌های چندوجهی و همچنین داده‌های پرت (outliers) تأخیر را فراهم می‌سازد.

این ابزار از نقاط ردگیری sched استفاده می‌کند.

از آنجا که این ابزار از BPF استفاده می‌کند، تنها کاربر ریشه (مدیر سیستم) می‌تواند از آن استفاده کند.

CONFIG_BPF و bpftrace.

ردگیری سراسری تأخیر صف اجرای پردازنده در کل سیستم، و چاپ هیستوگرام با فشردن کلیدهای Ctrl-C:
# runqlat.bt

1st, 2nd
این بازه‌ای از میزان تأخیر بر حسب میکروثانیه است (که در نماد مجموعه‌ای به صورت "[...)" نشان داده می‌شود).
3rd
ستونی که تعداد رویدادهای زمان‌بند را در این بازه نشان می‌دهد.
4th
این یک هیستوگرام اسکی (ASCII) است که ستون تعداد را نمایش می‌دهد.

این ابزار توابع زمان‌بند را ردگیری می‌کند که ممکن است بسیار پرتکرار باشند. در حالی که eBPF دارای سربار بسیار کمی است و این ابزار برای کارایی بیشتر از نگاشت‌های درون هسته (in-kernel maps) بهره می‌برد، بسامد رویدادهای زمان‌بند برای برخی بارهای کاری ممکن است آن‌قدر بالا باشد که سربار این ابزار قابل توجه شود. پیش از استفاده، در یک محیط آزمایشگاهی میزان سربار را برای ارزیابی کمی اندازه بگیرید.

این ابزار برگرفته از bpftrace است.

https://github.com/bpftrace/bpftrace

همچنین در توزیع bpftrace به پرونده همراه _examples.txt که شامل نمونه‌های استفاده، خروجی و توضیحات این ابزار است مراجعه کنید.

این یک نسخه bpftrace از ابزار bcc با همین نام است. ابزار bcc ممکن است گزینه‌ها و قابلیت‌های سفارشی‌سازی بیشتری فراهم کند.

https://github.com/iovisor/bcc

لینوکس (Linux)

ناپایدار - در حال توسعه.

Brendan Gregg

runqlen.bt(8), mpstat(1), pidstat(1), uptime(1)

2018-09-17 USER COMMANDS