服务器系统是debian testing就是etch。
发现默认的值是2048
- 代碼: 選擇全部
# cat /proc/sys/net/ipv4/tcp_max_syn_backlog
2048
又在网上看到说
tcp_max_syn_backlog大于1024需要重新编译内核,首先修改linux/include/tcp.h里面的TCP_SYNQ_HSIZE:
TCP_SYNQ_HSIZE*16<=tcp_max_syn_backlog(TCP_SYNQ_HSIZE乘以16小于等于tcp_max_syn_backlog)
我查看了2.6.18.8的kernel文件,发现默认那个数值为512
- 代碼: 選擇全部
#define TCP_SYNQ_HSIZE 512 /* Size of SYNACK hash table */
512*16=8192,远远大于默认的2048这个值
这是怎么回事呢?是这个资料太旧了还是应该是TCP_SYNQ_HSIZE*16>=tcp_max_syn_backlog???