tomcat 报错 Too many open files

一般来说,认为优化tomcat 服务器有两个1环节
 
第一个环节,增加jvm 内存的配置
 vi catalina.sh
  插入如下内容
  ----------------------------------------
 #
 # -Xms -Xmx
 #
 JAVA_OPTS='-Xms256m -Xmx512m'
  ----------------------------------------
 
第二个环节,在server.xml中
  <Connector port="8080"
               maxThreads="3000" minSpareThreads="250" maxSpareThreads="4000"
               enableLookups="false" redirectPort="8443" acceptCount="1"
               disableUploadTimeout="true"
                />
 
具体数字可根据服务器的不同作适当调整
 
但是今天早上收到同事的mail,tomcat 抛出很多java.net.SocketException: Too many open files
 
经查
#ulimit - a
 
     [root@web6 logs]#  ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
pending signals                 (-i) 1024
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 32767
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

当tomcat并发用户量大的时候,单个jvm进程确实可能打开过多的文件句柄,
[root@M31 logs]# lsof -p 15283|wc -l
   1223
超过了1024的限制
在/etc/profile 中添加
ulimit -n 4096
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值