tomcat too many open files 问题

linux系统下每个进程都有文件打开限制

5752是tomcat的进程id

[root@alipayap01_test startserver]# cat /proc/5752/limits
Limit                          Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size                unlimited            unlimited            bytes     
Max data size              unlimited            unlimited            bytes     
Max stack size            10485760           unlimited            bytes     
Max core file size         0                       unlimited            bytes     
Max resident set         unlimited             unlimited            bytes     
Max processes            73728                73728                processes
Max open files              1024                 1024                 files     
Max locked memory      32768               32768                bytes     
Max address space       unlimited            unlimited            bytes     
Max file locks               unlimited             unlimited            locks     
Max pending signals     73728                73728                signals   
Max msgqueue size      819200              819200               bytes     
Max nice priority           0                    0                    
Max realtime priority     0                    0                    
查看tomcat进程已打开的文件数

lsof -p 5752|wc-l

当tomcat启动的时候文件打开数很大,因为需要加载lib中的jar包,当所有项目启动完毕后,tomcat会释放部分项目lib的jar文件,

当其中一个应用暂未被访问,现在进行访问,tomcat的文件数会进行增加,通过查询“lsof -p 5752|grep "WEB-INF/lib"|wc -l” 加载jar包数据,后续访问减少时就会进行释放。

当tomcat打开的本身的jar及文件数+应用的jar文件数大于 Max open files 就会出现 too many open files异常问题

 

posted @ 2016-11-22 10:57  W&L  阅读(642)  评论(0编辑  收藏  举报