java 链接占用太多_Java程序链接数过多导致java.net.SocketException: No buffer space available问题...
发布时间:
Aug 29, 2020
更新时间:
Aug 29, 2020
总字数:482
阅读时间:1m
作者: 谢先斌
Java程序链接数过多导致java.net.SocketException: No buffer space available问题
问题
跑java的程序,报错如下:
java.net.SocketException: No buffer space available (maximum connections reached?): connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
...
现象
通过netstat -an查看到存在大量的socket资源被占用
原因
http / tcp 连接未释放
系统 socket 连接数设置过小
解决方式
Linux
在/etc/security/limits.conf添加:
* soft nofile 204800
* hard nofile 32768
在/etc/sysctl.conf添加:
# Decrease TIME_WAIT seconds, default is 30 seconds
net.ipv4.tcp_fin_timeout=10
# Recycle and Reuse TIME_WAIT sockets faster, default is 0 for both
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
参数说明:
net.ipv4.tcp_fin_timeout 系統默认的TIMEOUT时间
net.ipv4.tcp_tw_reuse 允许将TIME_WAIT sockets重新用于新的TCP连接 默认为0表示关闭
net.ipv4.tcp_tw_recycle 开启TCP连接中TIME_WAIT sockets的快速回收 默认为0 表示关闭
windows
启动注册表编辑器
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建 MaxUserPort
值名称:MaxUserPort
值类型:DWORD
值数据:十进制65534/十六进制是FFFE
PS:有效范围:5000 - 65534 (十进制) 默认:0x1388 5000(十进制)
新建 TCPTimedWaitDelay
值名称:TCPTimedWaitDelay
值类型:DWORD
值数据:十进制30/0000001e
java 链接占用太多_Java程序链接数过多导致java.net.SocketException: No buffer space available问题...相关推荐
- java.net.SocketException:No buffer space avaliable(maximum connection reached?):JVM_Bind 解决办法...
No buffer space available 2009-06-15 14:03 java.net.SocketException: No buffer space available (maxi ...
- java gc占用cpu问题_Java进程占用CPU高的问题跟踪
http://www.cublog.cn/u/12331/showart_255325.htmlWebLogic高cpu消耗诊断一例故障分析报告故障描述2007-3-6日上午,在系统监控时发现WebL ...
- java简述对象的组合_Java程序运行和对象创建过程简述
Java中一个对象创建分为两个步骤: 加载类,创建对象. 加载类是将所写的程序.java文件编译生成的.class文件加载到内存中,保证了对象创建的预置环境.类加载完毕后才可以创建该类的对象. 第一步 ...
- java程序结构_Java 程序结构说明(学习 Java 编程语言 004)
1. 一个简单的类 创建 FirstSample.java 文件,来编写最简单的 Java 应用程序.下面是示例代码: public class FirstSample { public static ...
- java技术栈有哪些_Java程序员必备的21个核心技术,你都掌握了哪些?
前言 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容. 1. JVM相关 对于刚刚接触Java的人来说,JVM相关的知识不一 ...
- 世界java大神有哪些_JAVA基础复习1:开始Java世界的第一个程序
之前,我已经安装好了Java,并且设置好了Java配置.那么来写一段进入Java世界的第一个程序. 1.打开记事本(曾经看过廖大神的一个博客,说是不建议使用Windows自带的记事本,因为有时候会添加 ...
- java生成cmd jar包_Java程序运行机制及cmd编译运行探究(二) cmd编译运行Java程序并打成jar包...
目标:写一个RandomUtils.java工具类,返回一个随机数,并把这个类的字节码文件打成jar包 在Java运行机制及cmd编译运行探究(一)准备工作一文中,我总结了一部分要用到的cmd及编译运 ...
- java runtime是什么软件_Java SE Runtime Environment (JRE) 运行Java程序的必备软件
Java SE Runtime Environment 运行Java程序的必备软件 因JAVA高度的安全性以及跨平台的特性,使得稳居网络应用程序语言的首选,这也使用得越来越多的程序员选择了Java,这 ...
- Java控制台不运行怎么办_java控制台自动关闭,无法运行java应用程序
打开java应用程序,弹出了java控制台,但1秒钟后就关闭了.看不懂日志,报错日志如下,还请高手指教:(之前是好的,安装myeclipse9.0以后就是像现在这样.把myeclipse9.0彻底删除 ...
最新文章
- 计算起点地址和终点地址的最短驾车距离和驾车时间
- 算法与数据结构(面向对象思想)
- 智能型炉温测试仪kic x5软件,X5系列_KIC-7通道/9通道/12通道炉温测试仪
- java检测用户是否重复登录_Java web工程判断用户是否重复登录
- JavaScript判断访问终端
- Linux启动hbase的shell命令出现警告_Linux 系统故障排查和修复技巧
- 【图像分割】基于matlab粒子群优化指数熵图像分割【含Matlab源码 287期】
- synchronized互斥锁结合wait()、notify()方法使用,实现线程的阻塞以及线程调用案例
- python密码安全性检查代码
- STM32学习笔记二、DS18B20单总线上挂载多路采集
- python验证码识别cnn_用CNN识别验证码的实用教程
- Vue小写金额转大写金额以及watch(监听)的使用
- 概率论笔记5.1大数定律
- 福州华侨中学计算机老师,三尺讲台著妙笔 谱写侨习好韶光——记2015级福州华侨中学实习队工作检查...
- java跟mysql实训报告_实训 java_MYSQL
- 【正则表达式验证邮箱】
- office连接oracle,office2013怎么连接32位oracle
- js 日期 加天数计算
- 弟弟的作业(湖南省第六届程序设计大赛)
- LED照明灯具与传感器技术