最近几天一直困扰我的一个tomcat日志异常:java.net.SocketException: Too many open files
这是因为web服务器端的网络请求过多,也就导致了系统打开的文件过多。每一个连接都会当成“文件”看待的。
于是用命令查看每个用户允许打开的最大文件数
[root@ ~]# ulimit -a
其中:open files (-n) 1024
看到最大文件数是1024,将其更改大点,如
[root@ ~]# ulimit -n 10240
然后必须重启下网络服务,我用的是tomcat,重启之后便没有出现异常。
[root@ ~]# service network restart
导致 Too many open files ,网络请求过多是一种可能,但也有可能是程序上的缺陷,如没有释放一些文件句柄,程序open了文件却忘记了close。但我确信项目中没有用到打开文件这一环节,因此这个可能是排除掉了。
用lsof -p [进程ID] 可以看到某ID的打开文件状况。进程ID可以用 ps -ef|grep java列出tomcat的进程ID,然后用此ID套入lsof -p ID号,唉,一大堆的请求,这显然是tomcat的网络请求过多造成了 Too many open files。适当调整后便可以消除这种现象。
分享到:
相关推荐
JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES解决方法 JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES错误是一种常见的网络编程错误,发生在Java应用程序中, especialmente 在 Linux 操作系统中。该错误的出现是...
NULL 博文链接:https://zhoudan241.iteye.com/blog/1432014
解决上述问题的关键在于解决最初的`java.net.SocketException`异常,因为一旦解决了这一问题,后续的异常往往也会随之消失。具体步骤如下: 1. **配置JVM参数**:在启动JVM时添加参数`-Djava.net.preferIPv4Stack=...
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环境中长时间...
Java Socket编程中,异常处理是确保程序稳定性和健壮性的重要环节。以下是对常见的Java Socket异常的详细解析和处理建议: 1. **java.net....同时,良好的错误处理和日志记录也有助于快速定位和解决问题。
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 ...
3. 错误信息:当Socket连接池出现问题时,可能会出现错误信息,如"java.net.SocketException: No buffer space available (maximum connections reached?): listen failed"。 解决方法 要解决线程太多导致Socket...
java.net.SocketException: Connection reset by peer: Socket write error 该异常可能发生在客户端和服务器端,原因是因为一端的 Socket 被关闭,而另一端继续发送数据。解决方法是确保在关闭连接前完成所有的数据...
```java RequestQueue queue = Volley.newRequestQueue(this); ``` 2. 创建Request对象:根据实际需求创建对应的Request子类,如StringRequest、JsonArrayRequest等。 ```java String url = ...
在PDA开发时经常会遇到下面的错误,原因是缺少一个dll,只要在项目中引用这个dll就可以获得错误的描述,然后根据错误提示在解决问题!System.Net.WebException: 无法显示错误消息,原因是无法找到包含此错误消息的可...
在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’ 分析: 邮件发送相关...
“JMeterPlugins-Extras.jar”则更加专注于提供高级功能和特定场景的解决方案,其中包括: 1. **模块控制器**:Extras插件引入了模块控制器,允许用户在测试计划中重用已有的线程组,提高了测试计划的复用性和灵活...
如果怀疑是防火墙问题,可以尝试暂时关闭防火墙看是否能够解决问题;或者通过ping命令测试目标主机是否可达,如果可以ping通但仍然无法建立连接,很可能是端口未开放或防火墙配置问题。 ##### 3. java.net....