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

naptime.bt - ردیابی فراخوانی‌های توقف اختیاری (sleep). استفاده از bpftrace/eBPF.

naptime.bt

این ابزار توقف‌های اختیاری برنامه‌ها (sleep) را ردیابی می‌کند و می‌تواند برای اشکال‌زدایی تاخیر بالا که ممکن است بر اثر خواب‌های عمدی قرار داده شده در روتین‌های برنامه‌ها، به ویژه اسکریپت‌های مدیریتی باشد، استفاده شود.

این ابزار با ردیابی فراخوانی سیستمی nanosleep(2) با استفاده از نقاط ردیابی (tracepoints) فراخوانی‌های سیستمی کار می‌کند.

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

CONFIG_BPF و bpftrace.

ردیابی توقف‌های برنامه‌ها از طریق nanosleep(2):
# naptime.bt

برچسب زمانی در قالب HH:MM:SS.
شناسه فرایند والد (Parent PID).
نام فرایند والد.
شناسه فرایند در حال خواب.
نام فرایند در حال خواب.
مدت زمان درخواست‌شده برای توقف (بر حسب ثانیه).

انتظار می‌رود فراخوانی‌های nanosleep(2) بسامد پایینی داشته باشند (بسیار کمتر از ۱۰۰ در ثانیه)، بنابراین انتظار می‌رود بار پردازشی این ابزار ناچیز باشد.

این ابزار برگرفته از کتاب «BPF Performance Tools» منتشر شده توسط Addison Wesley (۲۰۱۹) است:

http://www.brendangregg.com/bpf-performance-tools-book.html

برای مستندات بیشتر پیرامون این ابزار به کتاب مراجعه کنید.

این نسخه در مخزن bpftrace قرار دارد:

https://github.com/bpftrace/bpftrace

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

Linux

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

Brendan Gregg

capable.bt(8)

2019-07-05 USER COMMANDS