码迷,mamicode.com
首页 > 编程语言 > 详细

java.net.SocketException: Too many open files

时间:2015-09-11 06:53:05      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:too many open files   ulimit   

今天tomcat在跑任务时发现每次都有报错java.net.SocketException: Too many open files,

通过查阅文档发现是当时做系统初始化操作时忘了设置ulimit值,以至于一直使用默认值1024。

于是马上修改配置文件

echo  "* soft nofile 200000">>/etc/security/limits.conf
echo  "* hard nofile 200000" >>/etc/security/limits.conf
ulimit -SHn 200000         ## 对当前窗口生效,关闭后失效

但是再次跑任务时候发现报错依旧,于是各种查找,最后想到tomcat在修改ulimit后没有重启。重启后问题解决。


查找相关文档发现以下原因:

如果程序A已经运行,此时ulimit -n为1024;

然后设置ulimit -n 2048,这时再运行程序B;

退出当前shell用户,再次登录shell,运行程序C;

这时只有B程序用的是2048,其它用的都是1024.


参考文献:http://www.th7.cn/system/lin/201309/45075.shtml



本文出自 “朩依雨心” 博客,谢绝转载!

java.net.SocketException: Too many open files

标签:too many open files   ulimit   

原文地址:http://oranges.blog.51cto.com/6202730/1693636

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!