| tcpdrop.bt(8) | System Manager's Manual | tcpdrop.bt(8) |
نام (NAME)
tcpdrop.bt - ردیابی بستههای دور ریختهشده TCP در سطح هسته به همراه جزئیات با bpftrace/eBPF لینوکس
خلاصه دستور (SYNOPSIS)
tcpdrop.bt
توضیحات (DESCRIPTION)
این ابزار بستهها یا قطعههای (segment) پروتکل TCP را که توسط هسته دور ریخته (drop) شدهاند ردیابی میکند و جزئیات سرآیندهای IP و TCP، وضعیت سوکت و ردپای پشته (stack trace) هسته را نمایش میدهد. این ابزار برای اشکالزدایی مواردی با میزان بالای ریزش بسته در هسته که میتواند موجب ارسالهای مجدد مبتنی بر تایمر و مشکلات کارایی شود، کاربرد دارد.
این ابزار از طریق ردیابی پویای تابع هسته tcp_drop() کار میکند که نیازمند نسخه جدیدی از هسته است.
این ابزار به ipv4 محدود است و نمیتواند tcpflags را تجزیه کند، زیرا bpftrace در حال حاضر قادر نیست بافرهای سوکت را مانند bcc تجزیه کند.
از آنجا که این ابزار از BPF استفاده میکند، تنها کاربر ریشه (root) میتواند از آن استفاده کند.
پیشنیازها (REQUIREMENTS)
CONFIG_BPF و bpftrace.
مثالها (EXAMPLES)
- ردیابی تمامی بستههای دور ریختهشده TCP:
- # tcpdrop.bt
فیلدها (FIELDS)
- TIME
- زمان فراخوانی، در قالب HH:MM:SS.
- PID
- شناسه فرآیندی که هنگام دور انداختن بسته روی پردازنده قرار داشته است. این فیلد ممکن است ارتباطی با رخداد نداشته باشد، چرا که دور انداختن بستهها میتواند هنگام وقفه دریافت (receive interrupt) رخ دهد و به PID فرآیندی که دچار وقفه شده نامربوط باشد.
- COMM
- نام فرآیند
- SADDR:SPORT
- نشانی IP مبدأ و درگاه TCP مبدأ.
- DADDR:DPORT
- نشانی IP مقصد و درگاه TCP مقصد.
- STATE
- وضعیت نشست TCP (مانند "ESTABLISHED" و غیره).
بار پردازشی (OVERHEAD)
این ابزار تابع tcp_drop() هسته را ردیابی میکند که انتظار میرود بسامد پایینی داشته باشد، بنابراین بار پردازشی این ابزار باید ناچیز باشد.
مانند همیشه، پیش از استفاده در محیط عملیاتی، بار پردازشی این ابزار را برای نوع بار کاری خود آزمایش کرده و بسنجید.
منبع (SOURCE)
این ابزار برگرفته از bpftrace است.
همچنین در توزیع bpftrace به فایل همراه _examples.txt که شامل نمونه نحوه استفاده، خروجی و توضیحات این ابزار است مراجعه کنید.
این یک نسخه bpftrace از ابزار bcc با همین نام است. ابزار bcc ممکن است گزینهها و قابلیتهای سفارشیسازی بیشتری ارائه دهد.
سیستمعامل (OS)
Linux
پایداری (STABILITY)
ناپایدار - در حال توسعه.
نویسنده (AUTHOR)
Brendan Gregg، سازگار شده برای bpftrace توسط Dale Hamel
همچنین ببینید (SEE ALSO)
tcplife.bt(8), tcpaccept.bt(8), tcpconnect.bt(8), tcptop(8)
| 2018-11-24 | USER COMMANDS |