是否有任何工具/命令可以发现导致此类数据包丢弃的原因.是否有可能知道ISP方面的某些错误配置是否会导致此类问题.
ifconfig输出:
eth1 link encap:Ethernet HWaddr **:**:**:**:63:5d inet addr:***.***.4.130 Bcast:***.***.4.131 Mask:255.255.255.252 UP broADCAST RUNNING MulTICAST MTU:1500 Metric:1 RX packets:865089489 errors:0 dropped:596 overruns:0 frame:3 TX packets:498072410 errors:0 dropped:0 overruns:0 carrIEr:0 collisions:0 txqueuelen:1000 RX bytes:1092458492329 (1.0 TB) TX bytes:48179244881 (48.1 GB) Interrupt:17解决方法 ethtool命令用于向驱动程序查询NIC报告的统计信息. ethtool -S ethX将显示特定卡的统计信息,您可以看到丢弃的位置.
最常见的是你会丢失环形缓冲区中的数据包(报告为像“discard”“fifo”“bufs”这样的数据,因卡而异)你可以通过使用ethtool -g增加环形缓冲区来解决这个问题.请参阅man ethtool了解更多信息.
netstat命令用于查询内核的网络堆栈. netstat -s将向您显示统计信息,您可以查看是否丢失了积压(在NIC之后但在套接字缓冲区之前)或套接字缓冲区(太小的缓冲区或缓慢的应用程序)或其他地方的流量.
总结以上是内存溢出为你收集整理的分析GNU / Linux上传入的TCP数据包丢弃全部内容,希望文章能够帮你解决分析GNU / Linux上传入的TCP数据包丢弃所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)