- 浏览: 680687 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (302)
- 知识库 (51)
- lucene (8)
- 数据结构 (7)
- 问题及解决方法 (97)
- Quartz (4)
- JavaScript (26)
- java 基础 (40)
- 休闲 (9)
- 数据库相关 (32)
- 面试题 (4)
- Hibernate (5)
- Struts (11)
- JBPM (2)
- Spring (3)
- ajax (7)
- Flex (0)
- 报表 (4)
- 打印 (2)
- prototype (3)
- Struts2 (3)
- JQUERY (4)
- Ruby (0)
- Linux (9)
- Android (3)
- Objective-c (2)
- Python (8)
- map (1)
- mybatis (3)
- php (2)
- ios (0)
- 问题及解决方法 struts2 spring ognl resion tomcat (0)
- 问题及解决方法 struts2 spring ognl resin tomcat (1)
- c++ (2)
- 问题及解决方法 upload.parseRequest(request) 为空 (1)
- Eclipse maven tomcat (1)
- 知识库 服务器配置 (1)
- sersync2 (1)
- Maven Jetty Plugin 配置指南(翻译) (1)
最新评论
-
jgroups:
...
遇到Causedby:java.lang.NoClassDefFoundError:javax/validation/ParameterNameProvider -
dmyccc:
第二种方法还是很佩服楼主的,但是多少感觉有点投机取巧了。但是确 ...
spring mvc整合kindeditor文件上传问题 -
du_bo:
在xx-servlet.xml中这样配置<bean id ...
spring mvc整合kindeditor文件上传问题 -
java梦之翼:
太感谢了, 问题得到解决, 感谢
异常org.mybatis.spring.transaction.SpringManagedTransactionFactory.newTransaction -
du_bo:
这是我的上传package com.sp.controller ...
spring mvc整合kindeditor文件上传问题
SEVERE: Endpoint ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=8080] ignored exception: java.net.SocketException: Too many open files java.net.SocketException: Too many open files at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384) at java.net.ServerSocket.implAccept(ServerSocket.java:450) at java.net.ServerSocket.accept(ServerSocket.java:421) at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket (DefaultServerSocketFactory.java:61) at org.apache.tomcat.util.net.PoolTcpEndpoint.acceptSocket (PoolTcpEndpoint.java:408) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt (LeaderFollowerWorkerThread.java:71) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run (ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595)
原本以为是tomcat的配置或是应用本身的问题,"谷歌"一把后才发现,该问题的根本原因是由于系统文件资源的限制导致的。 具体可以参考 http://www.bea.com.cn/support_pattern/Too_Many_Open_Files_Pattern.html 这样我们就修改了系统在同一时间打开文件资源的最大数,基本解决以上问题。 以上部分是查找网络上的解决方法。设置了之后段时间内有作用。 后来仔细想来,问题还是要从根本上解决,于是把以前的代码由认真地看了一遍。终于找到了,罪魁祸首。 在读取文件时,有一些使用的BufferedReader 没有关闭。导致文件一直处于打开状态。造成资源的严重浪费。
的说明。具体的解决方式可以参考一下:
1。ulimit -a 查看系统目前资源限制的设定。
[root@test security]# umlimit -a
-bash: umlimit: command not found
[root@test security]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 7168
virtual memory (kbytes, -v) unlimited
[root@test security]#
通过以上命令,我们可以看到open files 的最大数为1024
那么我们可以通过一下命令修改该参数的最大值
2. ulimit -n 4096
[root@test security]# ulimit -n 4096
[root@test security]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 4096
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 7168
virtual memory (kbytes, -v) unlimitedpublic void test(){
BufferedReader reader = null ;
try {
reader = 读取文件;
String line = "" ;
while ( ( ine = reader.readLine()) != null ){
其他操作
}
} catch (IOException e){
System.out.println(e);
} finally {
if (reader != null ){
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
client = new HttpClient();
client.getParams().setBooleanParameter("http.protocol.expect-continue", false);
HttpMethod httpMethod = ...;
httpMethod.addRequestHeader("Connection", "close");
client.executeMethod(httpMethod);
本质原因肯定能够是你的程序中没有及时close掉文件(在linux/unix中Socket也是文件)。否则只有在上千的绝对同时并发时,才可能出现Too many open files错误。
发表评论
-
CentOS升级Python到2.7 遇到的问题 输入发不见了
2014-12-11 18:42 862CentOS 6.6 上安装的python版本是2.6,不 ... -
unable to ping server at localhost:1099
2014-12-10 10:30 5894开始使用linux开发环境,在配置idea 下tomcat ... -
Maven使用FAQ:与Maven版本和字符集编码有关的编译错误处理
2014-08-25 18:28 715在Maven3.0下创建了一个POM文件,可对项目进行正常的 ... -
遇到Causedby:java.lang.NoClassDefFoundError:javax/validation/ParameterNameProvider
2014-08-06 10:19 14226. 由于hibernate-validator-5.x.x ... -
Eclipse中导入或者Update Maven Project时的Null Pointer Exceptio
2014-03-19 11:02 835有时在Eclipse中导入Maven的Projects时,或 ... -
The reference to entity "characterEncoding" must end with the ';' delimiter
2014-01-13 15:04 1066数据源配置时加上编码转换格式后出问题了: The r ... -
java 图片涂抹功能
2013-12-30 16:19 1494今天遇到一个问题,用户上传图片的时候,有些敏感信息 ... -
Maven Jetty Plugin 配置指南(翻译)
2013-10-26 13:20 1117Jetty 版本信息 J ... -
jdk 1.6 下载地址
2013-10-16 14:14 864https://jdk6.java.net/download. ... -
java 截取汉字字符串
2013-10-11 11:49 1420对于汉字的切分 1个 汉字 占用2个字符 不能切出半 ... -
Spring MVC json 406 Not Acceptable
2013-09-12 17:41 1169使用SPring MVC 处理json 的时候老是 406 ... -
springMVC No mapping found for HTTP request with URI
2013-08-14 18:51 1202No mapping found for HTTP requ ... -
JSON和JSONP
2013-08-01 11:53 932由于Sencha Touch 2这种开 ... -
Eclipse 运行 maven web 项目
2013-07-19 14:00 20669eclipse 运行 maven web 项目 有两种方 ... -
Spring的quartz定时器同一时刻重复执行二次的问题解决
2013-07-18 17:49 1737最近用Spring的quartz定时器的时 ... -
Python2.7 安装 beautifulsoup4-4.2.1
2013-07-15 11:53 3047一个BeautifulSoup的模块,下载的是bea ... -
通过maven在eclipse中直接关联源码包
2013-07-01 16:21 965通过maven在eclipse中直接关联源码包 1、使用命 ... -
unicode 和 汉字转换
2013-06-18 15:23 1515// unicode转为本地 public sta ... -
eclipse freemarker 插件
2013-05-26 15:32 1195在写freemarkder 插件地址:http:// ... -
myeclipse maven plugin 插件 安装 和 配置
2013-05-15 17:34 2845环境: ...
相关推荐
JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES解决方法 JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES错误是一种常见的网络编程错误,发生在Java应用程序中, especialmente 在 Linux 操作系统中。该错误的出现是...
NULL 博文链接:https://zhoudan241.iteye.com/blog/1432014
### 在Win7系统下抛出java.net.SocketException的解决办法 #### 问题背景及原因分析 在使用MyEclipse开发工具结合JBoss服务器进行项目开发的过程中,遇到一个常见但令人头疼的问题:当启动JBoss服务器时,控制台...
"java.net.SocketException Connection reset 解决方法" 在 Java 编程中,SocketException 是一种常见的异常,特别是在网络编程中。Conexion reset by peer 是一种特殊的 SocketException,它发生在客户端和服务器...
Java中的`java.net.SocketException: Connection reset`是一个常见的网络编程错误,通常表示在TCP/IP通信过程中,连接突然中断。这个异常可能在客户端或服务器端发生,通常与数据传输的异常中断有关。 首先,我们来...
Linux下运行tomcat或者was出现java.net.SocketException: 打开的文件过多错误 tomcat报“too many open files”的错误,解决办法如下:
接口调用报错:java.net.SocketException: java.lang.ClassNotFoundException: Cannot find the specified class com.ibm.websphere.ssl.protocol.SSLSocketFactory
在将Web服务器从Windows环境迁移到Linux环境后,遇到了一个常见的问题:“java.net.SocketException: Too many open files”。这种异常通常发生在高并发环境下,例如网站访问量显著增加时。在Windows环境中长时间...
4. **java.net.SocketException: (Connection reset 或 Connect reset by peer: Socket write error)** 这两种异常都表示连接已断开。可能的原因是一端关闭了Socket,而另一端仍在尝试读写。处理这类异常需要检测到...
connection reset解决方案(亲测可用).md
在Java中使用FastDFS,首先需要在项目中引入FastDFS的Java客户端库。配置client.conf文件,设置tracker服务器的地址和其他相关参数。接着创建FastdfsClient和FastdfsUtil类,前者用于与FastDFS服务器通信,后者封装...
项目中碰到的,记录一下解决方案
Caused by: java.net.ConnectException: Connection refused at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:574) at ...
java.net.SocketException: Connection reset by peer: Socket write error 该异常可能发生在客户端和服务器端,原因是因为一端的 Socket 被关闭,而另一端继续发送数据。解决方法是确保在关闭连接前完成所有的数据...
3. 错误信息:当Socket连接池出现问题时,可能会出现错误信息,如"java.net.SocketException: No buffer space available (maximum connections reached?): listen failed"。 解决方法 要解决线程太多导致Socket...
1. 初始化RequestQueue:在Application或Activity的onCreate方法中创建RequestQueue实例。 ```java RequestQueue queue = Volley.newRequestQueue(this); ``` 2. 创建Request对象:根据实际需求创建对应的Request...
System.Net.WebException: 无法显示错误消息,原因是无法找到包含此错误消息的可选资源程序集 ---> System.Net.Sockets.SocketException: 无法显示错误消息,原因是无法找到包含此错误消息的可选资源程序集 ...
在Java中,Socket类和ServerSocket类分别用于客户端和服务端的通信建立。 2. **Hive数据同步需求**: 在大数据环境中,数据的实时同步是非常关键的。例如,当一个Hive集群中的数据发生变化时,可能需要将这些变化...
“{“success”:false,”message”:”错误System.Net.Mail.SmtpException: Failure sending mail. —> System.Net.WebException: The remote name could not be resolved: ‘smtp.163.com’ 分析: 邮件发送相关...