java.se--异常--java.net.SocketException: Too many open files

今天在生产服务器(cend os,resin)上发现这个错误,导致http链接出错。在网上查了下:

java.net.SocketException: Too many open files错误,由于linux对进程的打开文件数是有限制的,超过了此限制,就会报错。

 

  1. lsof -p 12349 查看链接数,12349是tomcat的进程  
  2. lsof -P 12349|wc -l  
  1. ulimit -u 查看open files设置  
  2. ulimit -a 查看所有设置  
  3. ulimit -u 65535(新的open files 值)修改设置  
  4. ulimit -n 65536 设置用户可以同时打开的最大文件数(max open files)  
  5.    
  6. 如果本参数设置过小,对于并发访问量大的网站,可能会出现too many open files的错误    
  7. 使用lsof -p pid [httpd进程的 pid、java的pid]来查看系统中apache进程和java运行时进程当前打开的文件资源,发现两者之和已经接近1024,大于了默认的设置。  
  8.   
  9. 修改配置:  
  10.   
  11. 修改/etc/security/limits.conf,在文件末加上  
  12. soft nofile 65536  
  13. hard nofile 65536  

修改/etc/security/limits.conf,在文件末加上  
* soft nofile 65536  
* hard nofile 65536

保存退出,即可。  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绿竹痕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值