网络丢包使用ethtool分析
ethtool -g eth0
ethtool eth0: 查询ethx网口基本设置。
-g: 显示网卡的接收/发送环形参数(ringbuffer)。
Ring parameters for eth0: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: 512 RX Mini: 0 RX Jumbo: 0 TX: 512
Pre-set maximums指的是RingBuffer的最大值,Current hardware settings指的是当前的设置。如果内核处理得不及时导致RingBuffer满了,那后面新来的数据包就会被丢弃,通过ethtool或ifconfig可以查看是否有RingBuffer溢出。
ethtool -S eth0
-S:显示NIC- and driver-specific 的统计参数(驱动层),如网卡接收/发送的字节数、接收/发送的广播包个数等。
rx_fifo_errors:0
tx_fifo_errors:0
rx_fifo_errors如果不为0,表示有包因为RingBuffer装不下而丢弃了,可以通过调整RingBuffer大小解决。
ethtool -G eth0 rx 4096 tx 4096
-G: 显示网卡的接收/发送环形参数。
这样RingBuffer就调大了,可以解决偶发瞬时的丢包。但是排队的包过多也会增加网络包的延时。所以还有个办法就是加快内核处理网络包的速度,而不是让网络包在RingBuffer中排队。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具