内核中大量的tcp overflow的报错,寻求解决方法
时间:2010-08-05
来源:互联网
一台Red hat 服务器,做负载交换,当连接达到上万后,内核里都报大量的这种错误,不知道各位有什么解决办法?
复制代码
另外想知道为什么会报这个错。谢谢。
- printk: 7277 messages suppressed.
- TCP: time wait bucket table overflow
- printk: 16031 messages suppressed.
- TCP: time wait bucket table overflow
- printk: 8401 messages suppressed.
- TCP: time wait bucket table overflow
- printk: 4277 messages suppressed.
- TCP: time wait bucket table overflow
- printk: 8677 messages suppressed.
- TCP: time wait bucket table overflow
- printk: 1027 messages suppressed.
- TCP: time wait bucket table overflow
- printk: 4217 messages suppressed.
- TCP: time wait bucket table overflow
- printk: 5709 messages suppressed.
- TCP: time wait bucket table overflow
- TCP: time wait bucket table overflow
- TCP: time wait bucket table overflow
作者: Coolriver 发布时间: 2010-08-05
- struct inet_timewait_sock *tw = NULL;
- const struct inet_connection_sock *icsk = inet_csk(sk);
- const struct tcp_sock *tp = tcp_sk(sk);
- int recycle_ok = 0;
-
- if (tcp_death_row.sysctl_tw_recycle && tp->rx_opt.ts_recent_stamp)
- recycle_ok = icsk->icsk_af_ops->remember_stamp(sk);
-
- if (tcp_death_row.tw_count < tcp_death_row.sysctl_max_tw_buckets)
- tw = inet_twsk_alloc(sk, state);
-
- if (tw != NULL) {
- ......
- ......
- ......
- } else {
- /* Sorry, if we're out of memory, just CLOSE this
- * socket up. We've got bigger problems than
- * non-graceful socket closings.
- */
- LIMIT_NETDEBUG(KERN_INFO "TCP: time wait bucket table overflow\n");
- }
- struct inet_timewait_sock *inet_twsk_alloc(const struct sock *sk, const int state)
- {
- struct inet_timewait_sock *tw =
- kmem_cache_alloc(sk->sk_prot_creator->twsk_prot->twsk_slab,
- GFP_ATOMIC);
- if (tw != NULL) {
- ......
- ......
- ......
- }
-
- return tw;
- }
1、在 tcp_death_row.tw_count >= tcp_death_row.sysctl_max_tw_buckets 的情况下
2、在调用 kmem_cache_alloc 分配 tw 错误的情况下
估计你的情况是由于 “1” 导致的
尝试用 sysctl 增大 net.ipv4.tcp_max_tw_buckets 试试
作者: platinum 发布时间: 2010-08-06
回复 platinum
你是做LINUX C开发的吗?太强了,源码都找出来了。
你是做LINUX C开发的吗?太强了,源码都找出来了。
作者: renxiao2003 发布时间: 2010-08-06
QUOTE:
回复 platinum
你是做LINUX C开发的吗?太强了,源码都找出来了。
renxiao2003 发表于 2010-08-06 13:35
你是做LINUX C开发的吗?太强了,源码都找出来了。
renxiao2003 发表于 2010-08-06 13:35
对于这种问题,最好的解决办法就是从代码入手,看因为什么提示
作者: platinum 发布时间: 2010-08-06
回复 platinum
是的。但是也要有良好的C功能。我就是C太烂了。
是的。但是也要有良好的C功能。我就是C太烂了。
作者: renxiao2003 发布时间: 2010-08-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28