.TH dcsnoop.bt 8 "2018-09-08" "USER COMMANDS" .SH "نام (NAME)" dcsnoop.bt \- ردیابی جستجوهای حافظه نهان ورودی دایرکتوری (dcache). استفاده از bpftrace/eBPF. .SH "خلاصه دستور (SYNOPSIS)" .B dcsnoop.bt .SH "توضیحات (DESCRIPTION)" به‌طور پیش‌فرض، این ابزار تمام جستجوهای dcache را ردیابی کرده و فرآیند انجام‌دهنده جستجو و نام پرونده درخواستی را نمایش می‌دهد. .PP خروجی این ابزار می‌تواند پرحجم باشد و برای بررسی‌های دقیق‌تر کارایی dcache فراتر از dcstat(8) که خلاصه‌های ثانیه‌ای چاپ می‌کند، طراحی شده است. .PP این ابزار از ردیابی پویای هسته برای تابع ()d_lookup استفاده می‌کند و در صورت هرگونه تغییر در این تابع، نیاز به به‌روزرسانی خواهد داشت. .PP از آنجا که این ابزار از BPF استفاده می‌کند، تنها کاربر ریشه (root) می‌تواند آن را اجرا کند. .SH "پیش‌نیازها (REQUIREMENTS)" CONFIG_BPF و bcc. .SH "مثال‌ها (EXAMPLES)" .TP ردیابی تمام جستجوهای dcache: # .B dcsnoop.bt .SH "فیلدها (FIELDS)" .TP TIME(ms) زمان جستجو به میلی‌ثانیه. .TP PID شناسه فرآیند. .TP COMM نام فرآیند. .TP T نوع: R == ارجاع (reference)، M == عدم تطابق (miss). در صورت miss دو خط چاپ می‌شود، یکی برای ارجاع و دیگری برای miss. .TP FILE جزئی از نام پرونده که در حال جستجو بود. این بخش شامل اجزای بعدی مسیر پرونده (پس از '/') است که موضوع جستجوهای بعدی خواهند بود. .SH "بار پردازشی (OVERHEAD)" جستجوهای نام پرونده می‌توانند بسیار مکرر باشند (بسته به بار کاری سیستم)، و این ابزار برای هر جستجوی ناموفق و همراه با \-a برای هر ارجاع نیز یک خط چاپ می‌کند. خروجی ممکن است پرحجم باشد و بار پردازشی تحمیل‌شده، اگرچه تا حدی بهینه‌سازی شده، ممکن است از محسوس تا قابل توجه باشد. استفاده از این ابزار واقعاً تنها برای بررسی‌های عمیق‌تر فراتر از dcstat(8) و در مواقع ضروری در نظر گرفته شده است. پیش از استفاده در محیط عملیاتی، بار پردازشی را در یک محیط آزمایشی اندازه‌گیری و ارزیابی کنید. .SH "منبع (SOURCE)" این ابزار برگرفته از bpftrace است. .IP https://github.com/bpftrace/bpftrace .PP همچنین در توزیع bpftrace به پرونده همراه _examples.txt شامل نمونه‌های استفاده، خروجی و توضیحات این ابزار مراجعه کنید. .PP این نسخه bpftrace از ابزار bcc با همین نام است. ابزار bcc ممکن است گزینه‌ها و قابلیت‌های سفارشی‌سازی بیشتری ارائه دهد. .IP https://github.com/iovisor/bcc .SH "سیستم‌عامل (OS)" Linux .SH "پایداری (STABILITY)" ناپایدار \- در حال توسعه. .SH "نویسنده (AUTHOR)" Brendan Gregg .SH "همچنین ببینید (SEE ALSO)" dcstat(8)