Red Hat Training
A Red Hat training course is available for RHEL 8
51.5. 显示被内核丢弃的 TCP 数据包和片段详情
tcpdrop
工具使管理员能够显示内核所丢弃的 TCP 数据包和段的详情。使用这个实用程序调试丢弃数据包的高速率,以便远程系统发送基于计时器的重新传输。释放数据包和片段的高速率可能会影响服务器的性能。
tcpdrop
工具使用 eBPF 特性,而不是捕获和过滤资源密集型的数据包,来直接从内核检索信息。
步骤
输入以下命令来显示丢弃 TCP 数据包和片段详情:
# /usr/share/bcc/tools/tcpdrop TIME PID IP SADDR:SPORT > DADDR:DPORT STATE (FLAGS) 13:28:39 32253 4 192.0.2.85:51616 > 192.0.2.1:22 CLOSE_WAIT (FIN|ACK) b'tcp_drop+0x1' b'tcp_data_queue+0x2b9' ... 13:28:39 1 4 192.0.2.85:51616 > 192.0.2.1:22 CLOSE (ACK) b'tcp_drop+0x1' b'tcp_rcv_state_process+0xe2' ...
每次内核丢弃 TCP 数据包和段时,
tcpdrop
都会显示连接的详情,包括导致软件包丢弃的内核堆栈追踪。- 按 Ctrl+C 停止追踪过程。
其他资源
-
tcpdrop(8)
手册页 -
/usr/share/bcc/tools/doc/tcpdrop_example.txt
file