gpt4 book ai didi

linux - 用于在内核空间中捕获数据包的缓冲区大小?

转载 作者:IT王子 更新时间:2023-10-29 01:09:12 25 4
gpt4 key购买 nike

查看 tcpdump 的手册页 here如果缓冲区已满,内核似乎可以丢弃数据包。我想知道是否

1) 大小是可配置的和/或2) 我在哪里可以看到我的发行版的大小?

来自手册页(便于引用):

数据包``被内核丢弃''(这是由于缺少缓冲区空间而被丢弃的数据包数量,如果操作系统报告该信息,则运行 tcpdump 的操作系统中的数据包捕获机制应用程序;如果没有,它将报告为 0)。

最佳答案

您可以检查几个区域以减少被内核丢弃的数据包:

  • 查看配置 /proc/sys/net/core/netdev_max_backlog/proc/sys/net/core/netdev_budget。默认值可能很低;尝试将每个设置为 2000 之类的值。
  • 写入输出设备屏幕可能会阻塞/减慢 tcpdump 进程足够长的时间来填充 recv 缓冲区
    • 使用 -nn 关闭 DNS 查找和端口命名
    • 写入文件而不是屏幕
    • 尝试使用 gulp 等工具
  • 如果您有一台多处理器机器,请考虑使用 taskset
  • 使用nice设置进程的优先级

即使使用这些设置,您也可能无法跟上您 try catch 的流量的速度。查看您的 NIC 和机器的详细信息,确保您所期望的是可能的。

关于linux - 用于在内核空间中捕获数据包的缓冲区大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6979325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com