多socket的tomcat服务在centos下无故挂起的问题

来源:互联网 发布:个人淘宝店铺出售 编辑:程序博客网 时间:2024/05/16 14:02

       用tomcat做服务器,部署一个通过socket连接硬件的服务,tomcat这里做服务端,硬件是长连接。系统部署在戴尔r710服务器上,双6核cpu,32g内存,运行centos5.9x64操作系统,oracle的1.7.0.25的jdk。

      使用系统默认参数,当服务器挂载的终端数超过100的时候,后台就经常报open too many files。系统稳定,连续运行几周没有问题。这时终端数增加到500,后台一直报这个错,而且大量终端掉线。

      修改操作系统参数vi /etc/sysctl.conf, fs.file-max=10000(操作系统可以打开的最大文件个数);vi /etc/security/limits.conf,*        - nofile 10000 (单个用户进程可以打开的最大文件个数)后,500多终端可以同时在线,但tomcat经常无缘无故挂掉,每天都挂3-4次,从日志上看也没有任何相关报错信息,都是tomcat的java进程直接关了,没有报错,bin目录也没有java异常退出的文件。

      经过反复试验,参数配置为vi /etc/sysctl.conf, fs.file-max=65536;vi /etc/security/limits.conf,*        - nofile 6000 后,6百多终端同时在线,系统已经稳定运行了1天,再继续观察。