zoukankan      html  css  js  c++  java
  • No buffer space available错误解决方案

    生产环境,突然爆发问题,网络正常,但是报网络不通错误,重启tomcat立刻好使

    开始以为是tomcat的问题,调查了很久,后来加上堆栈日志才发现

    简单来说,就是1-4分钟之内,使用了大量的http请求,达到了操作系统限制的最大值,所以许多请求处于wait状态,导致程序错误

    原代码,httpClient 未关闭

    finally {
                if (is != null) {
                    is.close();
                }
                if (postMethod != null) {
                    postMethod.releaseConnection();
                }
            }

    新代码,httpClient正确关闭

    finally {
                if (is != null) {
                    try{
                    is.close();
                    }catch(Exception e){
                        
                    }
                }
                if(postMethod!=null)
                    postMethod.releaseConnection();
                if(httpClient!=null)
                    httpClient.getHttpConnectionManager().closeIdleConnections(0);
            }

    改完这个没好使...[2018/10/18更新]

    继续查资料,发现与操作系统有关,此程序所在系统是windowsServer2003 32位

    修改注册表

    HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters

    新建 DWORD 类型的注册表项,命名为:MaxUserPort

    值数据: 60000(用十进制的格式录入进去,此值的有效范围为5000-65534)

    新建 DWORD 类型的注册表项,命名为:TCPTimedWaitDelay

    值数据: 30(用十进制的格式录入进去,TIME_WAIT的自动断开时间,默认为4分钟)

    HKEY_LOCAL_MACHINE/CurrentControlSet/Services/Tcpip/Parameters下的以下三个参数: 
    KeepAliveInterval,设置其值为1000(用十进制的格式录入进去)
    KeepAliveTime,设置其值为300000(单位为毫秒,300000代表5分钟) (用十进制的格式录入进去)
    TcpMaxDataRetransmissions,设置其值为5(用十进制的格式录入进去)

    祝开发顺利!

  • 相关阅读:
    Python3.5.2官方文档学习备忘录
    Linux下升级python版本
    役物,役于物
    各种编辑器添加注释快捷键
    Python3爬取百度百科(配合PHP)
    Python3向网页POST数据
    Python3爬取中文网址
    Python3批量爬取网页图片
    django中间件
    django创建上下文
  • 原文地址:https://www.cnblogs.com/gode/p/9770831.html
Copyright © 2011-2022 走看看