问题描述
我们有一个应用程序,它接收由2个不同系统发送的消息。 现在,我们已经观察到一些数据包丢失和延迟,为此,我们正在尝试找出根本原因。
为此,我正在分析套接字缓冲区及其内存使用情况。我正在使用'ss -um'linux命令执行此操作。
我得到的输出如下:
接收器应用程序结束:
skmem:(r0,rb65536,t0,tb65536,f4096,w0,o0,bl0,d0)
0 0 300.66.444.174:53757 300.66.444.174:43551
skmem:(r0,f0,d0)
0 0 300.66.444.174:37400
发件人应征结束:
skmem:(r0,rb212992,tb212992,d0)
0 0 300.66.44.56:40870 300.66.44.56:35531
skmem:(r768,f3328,d0)
0 0 300.66.44.41:49063 300.66.44.41:42435
我已经看过ss命令的手册页,但仍然听不懂。我是网络新手。那么,有没有网络专家可以简化或共享任何简单的文档,可以帮助我理解以下内容:
- 为什么此fwd_alloc内存对于接收方应用程序为f4096,但对于发送方大多数时候为f0。
- 非零值表示什么,它是被使用还是刚刚被分配。如果正在使用它,那是否意味着rcv_buf已被应用程序完全使用。
- d0将覆盖所有数据包丢弃。如果始终为零,是否得出结论就是没有与套接字缓冲区相关的数据包丢失。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)