Linux系统初装后TCP memory默认参数配置为128K,在过多进程负载网络通信的情况下就会出现异常。
可以使用命令扩大使用内存:##修改为16M
#sysctl -w net.core.rmem_max=16777216
#sysctl -w net.core.wmem_max=16777216
sysctl -w net.ipv4.tcp_rmem="4096 8738016777216"
sysctl -w net.ipv4.tcp_wmem="4096 1638416777216"
net.core.somaxconn是Linux中的一个kernel参数,表示socket监听(listen)的backlog上限。backlog就是socket的监听队列,当一个请求(request)尚未被处理或建立时,他会进入backlog。而socketserver可以一次性处理backlog中的所有请求,处理后的请求不再位于监听队列中。当server处理请求较慢,以至于监听队列被填满后,新来的请求会被拒绝。
# sysctl -a
会显示所有的kernel参数及值。
修改参数值的语法
sysctl-w net.core.somaxconn=4096