在捕获大量流量的同时提高 TCPDUMP 性能

在捕获大量流量的同时提高 TCPDUMP 性能

所以我向我的某台机器发送了~2gbps的小数据包(大约每秒380万个数据包)。该机器有一个tcpdump进程,它可以写入一个连续运行的文件,没有任何过滤器。

问题是,当我检查机器接收了多少流量时,我发现限制在 900mbps 左右。

我可以看到机器的 CPU 负载很高,并且 tcpdump 会丢弃数据包(可能无法处理它们)。 丢弃数据包

我尝试将环形缓冲区大小增加到最大,但没有帮助。

据我所知,tcpdump 无法进行多重处理,因此受到 1 个处理器/核心可捕获的数据包数量的限制。

我的问题是是否有任何方法可以提高 tcpdump 的性能,或者更重要的是将 tcpdump 实例的处理分布在多个核心上?

相关内容