Linux中udp的丟包分析

wireshark分析tcp的丟包比較簡單,因爲可以分析重發次數,和響應;
分析udp的丟包,需要分析帶序號的報文,RTP報文,可以分析丟包情況;若是分析iperf的udp包,沒法分析出丟包來。

網上說可以使用watch netstat -su查看丟包統計。主要看RcvbufErrors和SndbufErrors,packet receive errors。
丟包原因:
發送端:1. 發送的包太大,2.發包速度太快,3.udp包流量太大,發送緩衝區又太小。
接收端:接收緩衝區太小


使用 sysctl -a | grep memsocket查看緩衝區大小

lmz@X280:~/下載$ sudo sysctl -a | grep mem
[sudo] lmz 的密碼: 
net.core.optmem_max = 20480
net.core.rmem_default = 212992
net.core.rmem_max = 212992
net.core.wmem_default = 212992
net.core.wmem_max = 212992
net.ipv4.fib_sync_mem = 524288
net.ipv4.igmp_max_memberships = 20
net.ipv4.tcp_mem = 92376	123168	184752
net.ipv4.tcp_rmem = 4096	131072	6291456
net.ipv4.tcp_wmem = 4096	16384	4194304
net.ipv4.udp_mem = 184752	246336	369504
net.ipv4.udp_rmem_min = 4096
net.ipv4.udp_wmem_min = 4096
vm.lowmem_reserve_ratio = 256	256	32	0	0
vm.memory_failure_early_kill = 0
vm.memory_failure_recovery = 1
vm.nr_hugepages_mempolicy = 0
vm.overcommit_memory = 0

/etc/sysctl.conf 修改rmem_default、rmem_max、wmem_default和wmem_max的值,執行sysctl -p即可生效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章