杀死一个 tcp 连接
复习一下 Hengqi 大佬的文章。
已经定位到用户态异常行为导致存在不少 stale tcp sockets,而这些 sockets 刚好有 skb 缓存在 sk_receive_queue 里,恰好 skb 使用了 page_pool 里的 page;最终导致 dmesg 里一直打:
page_pool_release_retry() stalled pool shutdown 2 inflight 60 sec
已知是 IBM/sarama 导致的。
跪求 Go 分析 tcp connection leak 的工具,求求了
临时解决办法:kill 掉收到 RST 的 Kafka tcp 连接,"tp_btf/tcp_receive_reset" 里调 bpf_sock_destroy kfunc ,完美!
最终解决办法:修掉 sarama 的 BUG,比如 Client SeekBroker Connection Leak
#page_pool
复习一下 Hengqi 大佬的文章。
已经定位到用户态异常行为导致存在不少 stale tcp sockets,而这些 sockets 刚好有 skb 缓存在 sk_receive_queue 里,恰好 skb 使用了 page_pool 里的 page;最终导致 dmesg 里一直打:
page_pool_release_retry() stalled pool shutdown 2 inflight 60 sec
已知是 IBM/sarama 导致的。
跪求 Go 分析 tcp connection leak 的工具,求求了
临时解决办法:kill 掉收到 RST 的 Kafka tcp 连接,"tp_btf/tcp_receive_reset" 里调 bpf_sock_destroy kfunc ,完美!
最终解决办法:修掉 sarama 的 BUG,比如 Client SeekBroker Connection Leak
#page_pool