- 浏览: 1273520 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (608)
- 数据结构 (2)
- AJAX (3)
- 设计模式 (3)
- java (117)
- js (14)
- css (9)
- jsp (10)
- 杂文 (49)
- htmlparser (6)
- 数据库 (29)
- 算法 (14)
- 数据挖掘 (11)
- 电脑杂症 (12)
- 网络爬虫 (7)
- 应用服务器 (9)
- PHP (2)
- C# (14)
- 测试 (3)
- WEB高性能开发 (3)
- swt (1)
- 搜索引擎 (16)
- HttpClient (4)
- Lite (1)
- EXT (1)
- python (1)
- lucene (4)
- sphinx (9)
- Xapian (0)
- linux (44)
- 问题归类 (1)
- Android (6)
- ubuntu (7)
- SEO (18)
- 数学 (0)
- 农业资讯 (12)
- 游戏 (3)
- nginx (1)
- TeamViewer (1)
- swing (1)
- Web前 端 (1)
- 主页 (0)
- 阿萨德发首发身份 (0)
- 软件设计师 (0)
- hibernate (5)
- spring3.0 (5)
- elastic (1)
- SSH (3)
- ff (0)
- oracle 10g (9)
- 神经网络 (1)
- struts2.0 (2)
- maven (1)
- nexus (1)
- 辅助工具 (3)
- Shiro (1)
- 联通项目 (0)
- 2014年专业选择 (0)
- freemarker (1)
- struts1.2 (8)
- adfasdfasfasf (0)
- TortoiseSVN (1)
- jstl (1)
- jquery (1)
- eclipse plugin (0)
- 游戏外挂 (1)
- 推广 (0)
- 按键精灵 (1)
- ibatis3.0 (1)
最新评论
-
水野哲也:
不不不, 这个您真错了!其实是你引用的那个jsp和本身的jsp ...
解析关于jsp页面指令冲突问题contentType="text/html;charset=UTF-8" -
caobo_cb:
import xx.cn.weibo.Util;
[ java版]新浪微博之ruquest_token篇 -
caobo_cb:
你好 Util包没有
[ java版]新浪微博之ruquest_token篇 -
小桔子:
你好!我遇到个问题 max_allowed_packet值总是 ...
mysql查询占用内存,优化的技巧 -
donghustone:
谢谢大神!
用JSmooth制作java jar文件的可执行exe文件教程(图文)
linux 上tomcat 服务器抛出socket异常“文件打开太多”的问题
该问题的根本原因是由于系统文件资源的限制导致的。
[root@test security]# ulimit -a
通过以上命令,我们可以看到open files 的最大数为1024
那么我们可以通过一下命令修改该参数的最大值
2. ulimit -n 4096
[root@test security]# ulimit -n 4096
用ulimit -n 修改open files 总是不能保持。所以用下面一个简单的办法更好些。
修改/etc/security/limits.conf 添加如下一行:
* - nofile 1006154
修改/etc/pam.d/login添加如下一行
session required /lib/security/pam_limits.so
这次永久修改后程序就再没那个问题了,一直稳定运行。
上面的办法只是临时解决办法,问题还是要从根本上解决,于是把以前的代码由认真地看了一遍。终于找到了,罪魁祸首。
在读取文件时,有一些使用的BufferedReader 没有关闭。导致文件一直处于打开状态。造成资源的严重浪费。
修改之后的简单代码如下:
谢谢
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:60) at org.apache.tomcat.util.net.PoolTcpEndpoint.acceptSocket(PoolTcpEndpoint.java:407) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:70) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595)
该问题的根本原因是由于系统文件资源的限制导致的。
[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
通过以上命令,我们可以看到open files 的最大数为1024
那么我们可以通过一下命令修改该参数的最大值
2. ulimit -n 4096
[root@test security]# ulimit -n 4096
用ulimit -n 修改open files 总是不能保持。所以用下面一个简单的办法更好些。
修改/etc/security/limits.conf 添加如下一行:
* - nofile 1006154
修改/etc/pam.d/login添加如下一行
session required /lib/security/pam_limits.so
这次永久修改后程序就再没那个问题了,一直稳定运行。
上面的办法只是临时解决办法,问题还是要从根本上解决,于是把以前的代码由认真地看了一遍。终于找到了,罪魁祸首。
在读取文件时,有一些使用的BufferedReader 没有关闭。导致文件一直处于打开状态。造成资源的严重浪费。
修改之后的简单代码如下:
public 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(); } } } }
评论
2 楼
lzj0470
2011-12-22
netkiller.github.com 写道
运行即可
cat >> /etc/security/limits.conf <<EOF
root soft nofile 10240
root hard nofile 65536
nobody soft nofile 10240
nobody hard nofile 65536
EOF
cat >> /etc/security/limits.conf <<EOF
root soft nofile 10240
root hard nofile 65536
nobody soft nofile 10240
nobody hard nofile 65536
EOF
谢谢
1 楼
netkiller.github.com
2011-12-21
运行即可
cat >> /etc/security/limits.conf <<EOF
root soft nofile 10240
root hard nofile 65536
nobody soft nofile 10240
nobody hard nofile 65536
EOF
cat >> /etc/security/limits.conf <<EOF
root soft nofile 10240
root hard nofile 65536
nobody soft nofile 10240
nobody hard nofile 65536
EOF
发表评论
-
linux 查看软件目录
2013-06-26 11:37 796whereis ntpdate -
linux 添加定时任务
2013-06-26 10:54 996root身份登录到命令行 输入 crontab -e 按下 ... -
linux 时区设置
2013-06-26 10:38 782tzselect命令只告诉你选择的时区的 写法,并不会生效。所 ... -
chkconfig 使用
2013-06-20 00:05 0chkconfig sshd --level 3 off 原 ... -
linux 命令使用
2013-06-19 17:00 8191、linux crontab 怎么生效 service cr ... -
SSH 使用
2013-06-19 10:43 860首先,查看SSH有哪些参数。如下: usage: ssh [- ... -
linux 自动重启tomcat
2013-06-10 16:03 808一般情况下,下面的代码可以满足: #!/bin/sh whi ... -
linux 访问U盘
2012-09-07 11:42 869mount -t vfat /dev/sda1 ... -
sshd 重新启动
2012-05-09 11:42 1872/etc/init.d/sshd restart 113.1 ... -
使用ntfs-3g挂载NTFS文件系统
2012-02-11 15:35 1623Linux下想访问NTFS分区,现在普遍的方法是利用ntfs- ... -
Linux检测硬盘坏道
2012-02-10 21:15 1350看看我的盘健康测试,如果你的self-assessment t ... -
smartd错误信息含义解释及解决方法处理手段一览表
2012-02-10 20:52 1155SMART Disk Errors /var/log/mess ... -
segfault at xxx rip xxx rsp xxx error 4
2012-02-10 20:31 4588这种信息一般都是由内存访问越界造成的,不管是用户态程序还是内核 ... -
使用MegaCli工具查看Raid磁盘阵列状态
2012-02-09 10:18 4011Linux操作系统下使用MegaCli工具查看Raid磁盘阵列 ... -
比较不错的下载地址
2012-01-13 16:43 928http://ftp.gnome.org/pub/GNOME/ ... -
在linux下统计当前文件夹下的文件数
2011-11-23 16:10 9801) 统计当前文件夹下文件的个数 ls -l |grep &q ... -
SecureCRT自动记录日志
2011-10-11 10:46 12074今天在推特上看到有人 ... -
Linux命令行下统计当前文件夹下的文件个数
2011-07-25 10:47 1338统计某文件夹下文件的个数 ls -l |grep &quo ... -
Linux字符集的修改方法
2011-07-17 16:29 1208用export LANG=zh_CN.UTF-8这样只下次重起 ... -
让linux支持ntfs格式
2011-07-11 14:34 944资料: http://www.ixpub.net/thread ...
相关推荐
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
connection reset解决方案(亲测可用).md
Java Socket编程中,异常处理是确保程序稳定性和健壮性的重要环节。以下是对常见的Java Socket异常的详细解析和处理建议: 1. **java.net....同时,良好的错误处理和日志记录也有助于快速定位和解决问题。
在将Web服务器从Windows环境迁移到Linux环境后,遇到了一个常见的问题:“java.net.SocketException: Too many open files”。这种异常通常发生在高并发环境下,例如网站访问量显著增加时。在Windows环境中长时间...
在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 RequestQueue queue = Volley.newRequestQueue(this); ``` 2. 创建Request对象:根据实际需求创建对应的Request子类,如StringRequest、JsonArrayRequest等。 ```java String url = ...
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...
在Java中,Socket类和ServerSocket类分别用于客户端和服务端的通信建立。 2. **Hive数据同步需求**: 在大数据环境中,数据的实时同步是非常关键的。例如,当一个Hive集群中的数据发生变化时,可能需要将这些变化...
在PDA开发时经常会遇到下面的错误,原因是缺少一个dll,只要在项目中引用这个dll就可以获得错误的描述,然后根据错误提示在解决问题!System.Net.WebException: 无法显示错误消息,原因是无法找到包含此错误消息的可...
“{“success”:false,”message”:”错误System.Net.Mail.SmtpException: Failure sending mail. —> System.Net.WebException: The remote name could not be resolved: ‘smtp.163.com’ 分析: 邮件发送相关...
如果怀疑是防火墙问题,可以尝试暂时关闭防火墙看是否能够解决问题;或者通过ping命令测试目标主机是否可达,如果可以ping通但仍然无法建立连接,很可能是端口未开放或防火墙配置问题。 ##### 3. java.net....