服务器出现kernel: TCP: time wait bucket table overflow解决

服务器出现kernel: TCP: time wait bucket table overflow解决http://blog.sina.com.cn/s/blog_69cdee7f0100yowt.html#一台Nginx+php-fcgi的服务器做了负载均衡,在主控端发现一直在报错:viewsourceprint?01#—————————-引用文字-开始———————-

大家好,又见面了,我是你们的朋友全栈君。

http://blog.sina.com.cn/s/blog_69cdee7f0100yowt.html

#一台Nginx+php-fcgi的服务器做了负载均衡,在主控端发现一直在报错:

01 #----------------------------引用文字-开始----------------------------
02 Apr 19 14:48:38chengyongxu.com kernel: TCP: time wait buckettable overflow
03 Apr 19 14:48:44chengyongxu.com kernel: printk: 137 messagessuppressed.
04 Apr 19 14:48:44chengyongxu.com kernel: TCP: time wait buckettable overflow
05 Apr 19 14:48:52chengyongxu.com kernel: printk: 251 messagessuppressed.
06 Apr 19 14:48:52chengyongxu.com kernel: TCP: time wait buckettable overflow
07 Apr 19 14:48:53chengyongxu.com kernel: printk: 51 messages suppressed.
08 Apr 19 14:48:53chengyongxu.com kernel: TCP: time wait buckettable overflow
09 Apr 19 14:48:59chengyongxu.com kernel: printk: 119 messagessuppressed.
10 #----------------------------引用文字-结束----------------------------

#再看80端口连接状态

01 netstat-an | grep 80 |awk '{print $6}' |sort | uniq-c | sort -rn
02 #----------------------------引用文字-开始----------------------------
03    4202TIME_WAIT
04      30FIN_WAIT1
05       9ESTABLISHED
06       5SYN_RECV
07       4LISTEN
08       4FIN_WAIT2
09       4CLOSING
10       2CONNECTED
11       2
12 #----------------------------引用文字-结束----------------------------

#根据报错提示,需要更改net.ipv4.tcp_max_tw_buckets这个内核参数。这个参数是系统同时保持timewait套接字的最大数量。如果超过这个数字,time-wait套接字将立刻被清除并打印警告信息。这个限制仅仅是为了防止简单的DoS攻击,你绝对不能过分依靠它或者人为地减小这个值,如果网络实际需要大于缺省值,更应该增加这个值(如果增加了内存之后)。

01 vi/etc/sysconfig/sysctl.conf
02 #----------------------------引用文字-开始----------------------------
03 #找到:
04 net.ipv4.tcp_max_tw_buckets = 6000
05 #改为
06 net.ipv4.tcp_max_tw_buckets = 10000
07 #----------------------------引用文字-结束----------------------------
08 #保存并打印设置
09 sysctl -p
10   
11 #再看80端口连接状态
12 netstat-an | grep 80 |awk '{print $6}' |sort | uniq-c | sort -rn
13 #----------------------------引用文字-开始----------------------------
14    5928TIME_WAIT
15      42FIN_WAIT1
16      14ESTABLISHED
17      10FIN_WAIT2
18       6CLOSING
19       4SYN_RECV
20       4LISTEN
21       2CONNECTED
22       2
23 #----------------------------引用文字-结束----------------------------
24 netstat-an | grep 80 |awk '{print $6}' |sort | uniq-c | sort -rn
25 #----------------------------引用文字-开始----------------------------
26    5510TIME_WAIT
27      34FIN_WAIT1
28       9SYN_RECV
29       9ESTABLISHED
30       7FIN_WAIT2
31       6CLOSING
32       4LISTEN
33       2CONNECTED
34       2
35 #----------------------------引用文字-结束----------------------------
36 netstat-an | grep 80 |awk '{print $6}' |sort | uniq-c | sort -rn
37 #----------------------------引用文字-开始----------------------------
38    5687TIME_WAIT
39      38FIN_WAIT1
40      16ESTABLISHED
41      10SYN_RECV
42       6FIN_WAIT2
43       6CLOSING
44       4LISTEN
45       2CONNECTED
46       2
47 #----------------------------引用文字-结束----------------------------
48 netstat-an | grep 80 |awk '{print $6}' |sort | uniq-c | sort -rn
49 #----------------------------引用文字-开始----------------------------
50    5688TIME_WAIT
51      38FIN_WAIT1
52      19ESTABLISHED
53       9SYN_RECV
54       6FIN_WAIT2
55       6CLOSING
56       4LISTEN
57       2CONNECTED
58       2
59 #----------------------------引用文字-结束----------------------------

#再看/var/log/messages和dmesg的信息,已经不再报错了,看来net.ipv4.tcp_max_tw_buckets=10000暂时是够用了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146159.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于checkbox选中问题总结「建议收藏」

    关于checkbox选中问题总结「建议收藏」(1)ng-checked的值只是用来决定初始状态时选中还是为选中,ng-model才是随着复选框是否被选中,来实时改变它绑定变量的值。(2)如果初始状态ng-checked和ng-model指令

    2022年7月1日
    21
  • 再说注解

    再说注解

    2021年12月16日
    49
  • navicat激活码2021【注册码】

    navicat激活码2021【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    65
  • adb出现adb server is out of date时的解决的方法「建议收藏」

    adb出现adb server is out of date时的解决的方法「建议收藏」出错的原因是adb的port被其它程序的进程占据了,所以要做的就是找到并kill该进程。步骤:、1、在cmd中运行adbnodaemonserver,查看adb的port号是多少,普通情况下是50

    2022年7月2日
    49
  • 消除IBM P750小机上的黄色报警灯[通俗易懂]

    消除IBM P750小机上的黄色报警灯[通俗易懂]IBM小机上亮黄灯了如何解决?对报警灯的说明:(1)硬件故障报警灯是一个发光二极管,它亮表示系统检测到了硬件故障,管理员应该注意。(2)硬件故障报警灯是非常敏感的,很多情况下并不是硬件产生了故障它才亮,例如热插拔某些信号线或者电缆,用户非正常关机等都可能导致该警报灯亮。(3)管理员应该首先检查系统错误日志errpt,看一下是否真的有硬件错误。如果没有,那么可以先将这个

    2022年6月15日
    42
  • UE4/UE5 使用Unreal Datasmith完全教程

    UE4/UE5 使用Unreal Datasmith完全教程(2019.12.9)Datasmith功能已内置到虚幻4.24版本Datasmith支持导入Twinmotion:Twinmotion教程汇总(2021.4.2)Datasmith安装到4.20-4.23版本:UE4在4.20-23版本安装Datasmith插件(2021.3.30更新)Datasmith导出插件:Datasmith导出插件(2021.4.12更新)导入sketchup草图大师:草图大师SU导入Unity和虚幻UE4对比导入Revit2018.3+:UE4使用Da.

    2022年10月5日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号