• linux nginx大量TIME_WAIT的解决办法--转


    1. netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'  
    Java代码  收藏代码
    1. TIME_WAIT 8535  
    2. CLOSE_WAIT 5  
    3. FIN_WAIT2 20  
    4. ESTABLISHED 248  
    5. LAST_ACK 14  
    Java代码  收藏代码
    1. CLOSED:无连接是活动的或正在进行  
    2. LISTEN:服务器在等待进入呼叫  
    3. SYN_RECV:一个连接请求已经到达,等待确认  
    4. SYN_SENT:应用已经开始,打开一个连接  
    5. ESTABLISHED:正常数据传输状态  
    6. FIN_WAIT1:应用说它已经完成  
    7. FIN_WAIT2:另一边已同意释放  
    8. ITMED_WAIT:等待所有分组死掉  
    9. CLOSING:两边同时尝试关闭  
    10. TIME_WAIT:另一边已初始化一个释放  
    11. LAST_ACK:等待所有分组死掉  

       解决办法 修改内核参数

      

    Shell代码  收藏代码
    1. vi /etc/sysctl.conf  
    2. net.ipv4.tcp_syncookies = 1  
    3. net.ipv4.tcp_tw_reuse=1 #让TIME_WAIT状态可以重用,这样即使TIME_WAIT占满了所有端口,也不会拒绝新的请求造成障碍 默认是0  
    4. net.ipv4.tcp_tw_recycle=1 #让TIME_WAIT尽快回收 默认0  
    5. net.ipv4.tcp_fin_timeout=30  
    6. /sbin/sysctl -p 让修改生效  

      在查看,已经恢复正常

    Java代码  收藏代码
    1. TIME_WAIT 69  
    2. CLOSE_WAIT 4  
    3. FIN_WAIT2 15  
    4. ESTABLISHED 236  
    5. LAST_ACK 
  • 相关阅读:
    sparksql
    axis2客户端
    windows命令
    如何进行大数据分析及处理(总结)
    linux下如何关闭防火墙?如何查看防火墙当前的状态
    mysql 快速简单安装法
    数据分析笔记
    建设数据仓库的八个步骤
    Java工作记录
    IIS虚拟目录和应用程序
  • 原文地址:https://www.cnblogs.com/hechunhua/p/9599612.html
Copyright © 2020-2023  润新知