加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 19:03:25 所属栏目:Linux 来源:网络整理
导读:浏览tcpdump here的手册页 如果缓冲区已满,内核似乎可以丢弃数据包. 我想知道是否 1)该大小是可配置的和/或 2)我在哪里可以看到我的发行版的大小? 从手册页(以便于参考): 数据包由内核丢弃(这是由于缺少缓冲区空间而丢弃的数据包数量,由运行tcpdump的操作

浏览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等工具

>如果您有一台多处理器机器,请查看使用任务集
>使用nice设置进程的优先级

即使使用这些设置,也可能只是因为您无法跟上您尝试捕获的流量速度.查看您的NIC和机器的详细信息,确保您的期望是可能的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读