河南电商网站开发,vs2013做简单的网站,济源城乡建设局网站,网站建设找睿智骄阳1、修订单个socket的缓冲区大小#xff1a;通过setsockopt使用SO_RCVBUF来设置接收缓冲区#xff0c;该参数在设置的时候不会与rmem_max进行对比校验#xff0c;但是如果设置的大小超过rmem_max的话#xff0c;则超过rmem_max的部分不会生效#xff1b; 2、修订linux系统u… 1、修订单个socket的缓冲区大小通过setsockopt使用SO_RCVBUF来设置接收缓冲区该参数在设置的时候不会与rmem_max进行对比校验但是如果设置的大小超过rmem_max的话则超过rmem_max的部分不会生效 2、修订linux系统udp缓冲区大小通过rmem_max来设置系统中udp缓存的上限该值可通过如下方式查看 rootubuntu:/mnt/hgfs/vm-shared/socket# cat /proc/sys/net/core/rmem_max 131071 通过如下方式进行修订 rootubuntu:/mnt/hgfs/vm-shared/socket# vi /etc/sysctl.conf 在文件/etc/sysctl.conf中新增如下信息 rmem_maxMAX 需要注意的这里设置的rmem_max参数是整个系统的大小不是单个socket的大小。 修订后的大小可以通过如下命令查看 rootubuntu:/mnt/hgfs/vm-shared/socket# sysctl -a | grep rmem_max net.core.rmem_max 131071 总结 要修订linux udp收包缓冲大小需要上述两个地方同时修改。 只改第1点缓冲区大小会受到rmem_max的限制。 只改第2点一个socket只会预留63个报文的接收缓冲。 发包缓冲区与收包缓冲区一样只不过参数名称不一样SO_SNDBUF、wmem_max。 通过如下命令可以查看对应缓冲区中现有的报文数量 rootubuntu:/mnt/hgfs/vm-shared/socket# netstat -na | more Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:53113 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:35551 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:42697 0.0.0.0:* LISTEN tcp 0 52 192.168.16.55:22 192.168.16.48:57258 ESTABLISHED tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 ::1:631 :::* LISTEN tcp6 0 0 :::445 :::* LISTEN tcp6 0 0 :::139 :::* LISTEN udp 0 0 0.0.0.0:58548 0.0.0.0:* udp 0 0 0.0.0.0:68 0.0.0.0:* udp 0 0 0.0.0.0:52684 0.0.0.0:* udp 0 0 0.0.0.0:57298 0.0.0.0:* udp 0 0 0.0.0.0:5353 0.0.0.0:* udp 0 0 0.0.0.0:54889 0.0.0.0:* udp 0 0 0.0.0.0:111 0.0.0.0:* udp 0 0 0.0.0.0:2049 0.0.0.0:* udp 260464 0 0.0.0.0:2435 0.0.0.0:* 这个例子中端口号为2435的socket缓存了260464/1784 146个报文。 阅读(1412) | 评论(0) | 转发(0) |