问题描述:

当Tomcat单节点大批量访问时,会出现:Too many open files 报错导致系统卡死或者进程直接关闭,从而影响业务。

问题原因:

进程在请求打开一个文件,实际上就是在请求句柄,但是现在进程打开的句柄已经达到了上限,已经无法打开新句柄了,所以导致系统无法在接入新的连接,或者目前连接的请求也将出现问题!

处理方法:

● 增加文件描述符

      ulimit -n 65535echo 65532 > /proc/sys/fs/file-max

优化TCP/IP设置

   echo 30 > /proc/sys/net/ipv4/tcp_fin_timeoutecho 60000 > /proc/sys/net/ipv4/tcp_keepalive_timeecho 15000 > /proc/sys/net/ipv4/tcp_keepalive_intvlecho 0 > /proc/sys/net/ipv4/tcp_window_scaling

其他优化

#使用更多的本地端口
echo 1024 25000 > /proc/sys/net/ipv4/ip_local_port_range
#增加更多的socket buffer内存(参考)
echo 2621143 > /proc/sys/net/core/rmem_max
echo 262143 > /proc/sys/net/core/rmem_default
echo 4096 131072 262143 > /proc/sys/net/ipv4/tcp_rmem
echo 4096 13107262143 > /proc/sys/net/ipv4/tcp_wmem
#增加运行期所需的shm内存(参考)
echo 67108864 > /proc/sys/kernel/shmmax echo 16777216 > /proc/sys/net/core/rmem_max echo 16777216 >
/proc/sys/net/core/wmem_default echo 16777216 >
/proc/sys/net/core/wmem_max echo 4096 > /proc/sys/net/core/somaxconn
echo 262143 > /proc/sys/net/core/rmem_default
#增加用户最大打开文件数(如果本身系统的数字就比这个要大就不用修改了)
#---------------修改/etc/security/limits.conf文件---------- soft nofile 32768
*hard nofile 32768
###重启后用户的最大打开文件数就变成 32768 了,当然你也可以看情况再加大。

总结:
实际情况需要根据机器的具体配置进行调整,不能直接生搬硬套,不然可能会适得其反!建议访问量较大的应用尽量使用集群方式部署!

tomcat 报错 Too many open files相关推荐

  1. eclipse中同步代码PULL报错checkout conflict with files的解决方法

    eclipse中同步代码PULL报错checkout conflict with files的解决方法 参考文章: (1)eclipse中同步代码PULL报错checkout conflict wit ...

  2. tomcat报错LifecycleException的解决方案

    tomcat报错LifecycleException的解决方案 参考文章: (1)tomcat报错LifecycleException的解决方案 (2)https://www.cnblogs.com/ ...

  3. 启动tomcat报错Caused by: org.apache.catalina.LifecycleException: No UserDatabase component

    启动tomcat报错 Caused by: org.apache.catalina.LifecycleException: No UserDatabase component 替换conf/tomca ...

  4. tomcat报错: Error parsing HTTP request header

    Error parsing HTTP request header 在服务器上面集成项目的时候,tomcat报错,在往上面查找是因为eclipse运行的tomcat和服务器上面的tomcat版本不一致 ...

  5. TOMCAT报错:HTTP Status 404 -

    构建struts2工程师,tomcat报错: HTTP Status 404 - type Status report message description The requested resour ...

  6. 迅速解决!!!!!启动Tomcat报错PermGen space

    启动Tomcat报错   PermGen space    内存溢出 解决方法:扩大tomcat内存 修改参数:set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSi ...

  7. 关于eclipse中web项目tomcat报错Server Tomcat v9.0 Server at localhost failed to start问题解决

    第一次写博客,写个简单的好了 关于eclipse中web项目tomcat报错Server Tomcat v9.0 Server at localhost failed to start 问题 我的解决 ...

  8. jenkins 远程启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

    异常现象: jenkins 远程启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 解决 ...

  9. ssm启动不报错_解决idea导入ssm项目启动tomcat报错404的问题

    用idea写ssm项目,基于之前一直在用spring boot 对于idea如何运行ssm花费了一番功夫 启动tom act一直在报404 我搜了网上各种解决办法都不行,花费一天多的时间解决不了 就是 ...

最新文章

  1. python迷宫万花筒代码_利用广度优先遍历搜索迷宫的python源代码
  2. 网络编程中的大端和小端
  3. wxWidgets:wxWebRequest 示例
  4. (内联元素和块级元素)
  5. [note] Homebrew的介绍、安装方法与常用命令整理
  6. Java序列化技术即将被废除!!!
  7. Ubuntu16.04编译Android6.0/cm13.0教程及相关错误解决办法
  8. windows制作docker镜像_优秀软件推荐-微软官方工具升级windows或制作启动U盘及镜像...
  9. 机器学习 深度学习 ai_什么是AI? 从机器学习到决策自动化
  10. 详解哈夫曼树和哈夫曼编码
  11. 最近的收获以及清明节的安排
  12. java idwork长度_java 字符串id
  13. 用实际例子理解回调函数(Calback)
  14. 兔子数列规律怎么讲_神奇兔子数列
  15. linux 信号sigabrt,程序运行产生SIGABRT信号的原因---转
  16. [NXP.iMX6UL] 驱动开发
  17. Webgl实现的天气效果(下雨、下雪)
  18. eu5,eu7,ex3,ex5安装第三方app
  19. MEM/MBA 写作-论证有效性分析(05)逻辑缺陷-不当类比简单归因
  20. 【C语言】小学数学练习

热门文章

  1. SpringBoot+WebSocket问题:Failed to register @ServerEndpoint class
  2. 2021杭电多校第3场_HDU6975_Forgiving Matching
  3. 柠檬水健康问题打包解答
  4. 苹果手机怎么创建php,怎么在苹果官网注册Apple ID?在网页上创建Apple ID教程
  5. 学习编程时真正值得一读的一篇文章 与 书籍
  6. ESXI下安装OpenWrt/LEDE软路由教程(附超全功能固件镜像下载)
  7. 和技术大咖们一起工作是怎样的体验?擎创招人进行时,你~要上车吗?
  8. 解决从k8s.gcr.io拉取镜像失败问题
  9. STL的使用和背后数据结构
  10. 大学计算机与人工智能基础课后答案,好书推荐 | 人工智能基础及应用