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

biolatency.bt - تاخیر ورودی/خروجی بلوکی به صورت یک هیستوگرام. استفاده از bpftrace/eBPF.

biolatency.bt

این ابزار زمان (تاخیر) سپری‌شده در ورودی/خروجی دستگاه بلوکی (ورودی/خروجی دیسک) را به صورت یک هیستوگرام توانی از ۲ خلاصه‌سازی می‌کند. این کار امکان بررسی توزیع، از جمله مُدها و داده‌های پرت (outliers) را فراهم می‌سازد. اغلب دو مُد وجود دارد، یکی برای اصابت به حافظه موقت (cache hits) دستگاه و دیگری برای عدم اصابت (cache misses)، که می‌توانند توسط این ابزار نشان داده شوند. داده‌های پرت تاخیر نیز نشان داده خواهند شد.

ابزار اصلی، که با نام "biolatency-kp.bt" نگهداری می‌شود، در حال حاضر با ردیابی پویای توابع هسته blk_account*() کار می‌کند، که برای تطابق با هرگونه تغییر در این توابع در نسخه‌های آینده هسته نیازمند به‌روزرسانی خواهد بود.

نسخه به‌روزشده این ابزار به جای kprobes از نقاط ردیابی (tracepoints) استفاده می‌کند تا بتواند با طیف گسترده‌ای از نسخه‌های هسته سازگار باشد.

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

CONFIG_BPF و bpftrace.

ردیابی ورودی/خروجی دستگاه بلوکی (ورودی/خروجی دیسک) و چاپ هیستوگرام تاخیر با زدن Ctrl-C:
# biolatency.bt

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

از آنجا که ورودی/خروجی دستگاه بلوکی معمولاً بسامد نسبتاً پایینی دارد (کمتر از ۱۰٬۰۰۰ در ثانیه)، انتظار می‌رود بار پردازشی این ابزار ناچیز باشد. برای سامانه‌های ذخیره‌سازی با IOPS بالا، پیش از استفاده آزمایش و ارزیابی کمّی انجام دهید.

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

https://github.com/bpftrace/bpftrace

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

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

https://github.com/iovisor/bcc

Linux

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

Brendan Gregg

biosnoop.bt(8)

2018-09-13 USER COMMANDS