Tomcat 日志中的Too many open files问题解决

java.io.IOException: Too many open files 今天开发一个AOP接口需求协议,在Linux上启动tomcat应用的时候,日志打印出如下错误: java.lang.IllegalStateException: failed to create a child event loop at io.netty.util.concurrent.MultithreadEventExecutorGroup.(MultithreadEventE 阅读详情

今日上班日常查看Tomcat的日志时发现日志报错:

java.io.IOException: Too many open files
        at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method) ~[na:1.7.0_09-icedtea]
        at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:226) ~[na:1.7.0_09-icedtea]
        at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink$Boss.run(NioServerSocketPipelineSink.java:244) ~[netty-3.2.5.Final.jar:na]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [na:1.7.0_09-icedtea]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [na:1.7.0_09-icedtea]
        at java.lang.Thread.run(Thread.java:722) [na:1.7.0_09-icedtea]

Too many open files 翻译过来就是打开文件过多,其实这个问题主要指的是进程企图打开一个文件或者叫句柄,但是现在进程打开的句柄已经达到了上限,已经无法打开新句柄了。

问题知道了,下面开始解决

首先查看当前tomcat进程的ID:

[hadoop@BJXABL_06_ZZZ01 apache-tomcat-8.5.50]$ jps
34484 Jps
59802 Bootstrap

59802 Bootstrap 就是tomcat的ID了
查看当前进程使用的句柄数:

[hadoop@BJXABL_06_ZZZ01 apache-tomcat-8.5.50]$ lsof -p 59802|wc -l
1132

查看当前配置的最大句柄数:

[hadoop@BJXABL_06_ZZZ01 apache-tomcat-8.5.50]$ ulimit -a

结果:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 127886
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 4096
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

发现open files默认为1024,1132明显超过当前句柄数配置
修改句柄数

ulimit –n 2000

这个命令将的句柄数改为2000,但是这个配置是临时的,服务器重启以后就会失效
不使用root用户修改会有上限,建议使用root用户修改
修改完成后重启一下tomcat就好了

Socket accept failed - IOException 报错处理 Socket accept failed - IOException 记一次线上报错处理 阅读详情

相关推荐

netty运行一段时间报错:java.io.IOException: 打开的文件过多

netty做了一个TCP/IP的通讯服务,运行一段时间,服务就崩了,报错内容如上:java.io.IOException: 打开的文件过多。网上的解决方案基本就都没用,只能靠自己分析报错原因了。最终解决方案需要在netty初始化的时候,设置连接超时时间......

weixin_50989469的博客 2524

mina 文件句柄数太高分析与解决

2014-11-01 19:43:12,997  WARN (AbstractConnector.java:472) -  java.io.IOException: Too many open files at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method) at sun.nio.ch.ServerSocketChannel

smithdoudou88的专栏 3877

大华/华睿工业相机(摄像头)链接电脑,并用OpenCV打开

睿科是大华旗下机器视觉子公司,现在工业相机一般是华睿在产,要下载驱动程序,要到华睿官网哪里下载。由于我的电脑没有摄像头,所以摄像头序列化为0,电脑的第一个摄像头默认为0,序列号是0,1,2,3……,你是什么接口连接的就选择什么, 建议直接全选。我这里选择第二个,下载后点击安装,的你要点击识别右侧设置,设置。这个过程很简单,故不赘述。打开你的设备会在右边显示。

qq_48050838的博客 1万+

jar Bug引发的java.io.IOException:(打开的文件过多 Too many open files)导致服务假死...

23-Dec-2018 07:35:06.932 严重 [http-nio-83-Acceptor-0] org.apache.tomcat.util.net.Acceptor.run Socket accept failed。23-Dec-2018 07:35:08.532 严重 [http-nio-83-Acceptor-0] org.apache.tomcat.util.net.Acceptor.run Socket accept failed。

weixin_36873225的博客 1661

【PLC】三菱PLC控件安装疑难解析:Error Number:-119的全面解决方案

本文针对三菱PLC控件安装过程中常见的Error Number:-119错误,提供了深度解析与实战解决方案。该错误通常源于Windows系统权限限制或文件冲突。文章从理解错误本质入手,逐步介绍了以管理员身份运行、手动注册DLL文件、采用新版环境搭配旧版控件的黄金组合以及系统环境修复等四大招法,帮助用户彻底解决这一安装难题,确保工控软件稳定运行。

jj890的博客 498

【技能---ubuntu20.04更换国内镜像源】

安装好ubuntu20.04后,在下载软件等安装包的时候,速度特别的慢,为此就想着更换一下镜像源,以此来增加下载的速度!!!下面是换源的具体流程!!!提示:以下是本篇文章正文内容,下面案例可供参考以上到这里就更换完软件源了,如有不足之处,请大家斧正!!!

fyc300的博客 1万+

java.io.IOException: 打开的文件过多(Too many open files)

一、环境描述:        部署到linux下的tomcat二、现象:        刚部署完后可以对项目进行访问,后台没有报错,间隔两天后,无法访问项目,日志中报错。三、错误日志如下:20-Nov-2017 10:07:15.210 SEVERE [http-nio-8081-Acceptor-0]org.apache.tomcat.util.net.NioEndpoint$Acceptor....

冰山上的来客的博客 1万+

JHU ICBM DTI Atlas纤维束模板介绍

JHU ICBM DTI atlas 纤维束的定位与功能介绍

machinelearning_er的博客 6429

Tomcat 运行过程中出现 Too manay open files 异常分析

查看采集数据的tomcat日志,习惯性的先翻到日志的最后去查看有没有异常的打印,果然发现了好几种异常信息,但是最多还是这个:   “Too manay open files” 问题很明显啊,文件描述符超出限制导致无法打开文件或创建网络连接,这个问题又会导致一些其它问题的产生,肯定是ulimit没有优化,于是检查ulimit的设置; open files竟然是65535,已经做过了优化...

游荡边缘的博客 1335

Simscape Multiboby学习笔记1——跟着官网学Multibody

文章目录一. 引言二. Simscape Multibody自学之路三. 本教程的目录 一. 引言 最近在倒腾Matlab的动力学仿真,起因是看到有人推荐Matlab的multbody模块,一经了解之下简直惊为天人。作为一名Matlab的小粉,看到这么好用的模块简直不要太开心,之前用simulink搭飞行器的仿真模型,虽然能够仿真看到六自由度位移,毕竟不能可视化,还是很不够直观,而且simulink仿真(以及更费力的脚本文件仿真)需要精确建模,模型不精确计算也是天差地别。而Multibody在具备其他动力学

qq_30267617的博客 8241

视觉SLAM与激光SLAM简单对比分析

本文旨在梳理目前较为前沿的SLAM技术,包括激光和视觉,主要从精度和实时性两个方面对算法进系评价。对于激光SLAM了解不深,后期需要补充相关算法的核心思想与算法框架。有问题请大佬们随时留言,我再改正。

超爱吃小蛋糕的66的博客 3855

tomcat 宕机问题分析及解决

服务器环境:centos6.7 + tomcat7.0.69 + jdk1.7.0_55 + mysql5.6.28 场景:服务刚开始用户体验变差,请求时间长,之后出现404,500等与服务器交互失败问题。重启后用户体验回升,半小时内问题没有再现。 日志中出现的问题有两个:                   1、Cause: org.springframework.jdbc.Can

小蚂蚁 1万+

educoder实训——计算几何形状的表面积与体积

educoder python实训

qq_41234663的博客 1230

[转]java.io.IOException 断开的管道 解决方法 ClientAbortException: java.io.IOException: Broken pipe

今天公司技术支持的童鞋报告一个客户的服务不工作了,紧急求助,于是远程登陆上服务器排查问题。 查看采集数据的tomcat日志,习惯性的先翻到日志的最后去查看有没有异常的打印,果然发现了好几种异常信息,但是最多还是这个: 24-Nov-2016 09:54:21.116 SEVERE [http-nio-8081-Acceptor-0] org.apache.tomcat.util.net.NioEndpoint$Acceptor.run Socket accept failed jav...

zhangustb 5705

UNet改进(3):Local Attention增强的UNet网络-医学图像分割

本文提出一种改进的UNet网络,通过引入局部注意力机制增强医学图像分割性能。该方法在传统UNet编码器-解码器结构中,创新性地整合了通道注意力和空间注意力模块,使网络能自适应聚焦关键区域。注意力机制通过特征重标定增强有用信息并抑制噪声,显著提升了小目标分割和边缘检测的精度,同时保持较低计算开销。实验表明,该方法在肿瘤分割等任务中具有更好表现,为医学图像处理提供了新的优化思路。

2501_91516851的博客 2065

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Tomcat报too many open files

无

stay foolish 1216

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

记一次tomcat报错Too many open files的排查历程

本文的技术细节并不具通用性,但是排查的思路过程值得自己mark下,上次遇到这样的刺激线上故障已经是去年3月了~~~这次排查花了3个小时,还算快啦,也算最近的一个小彩蛋。 昨天在公司coding,测试组的同事突然来找我,告知预发环境的系统挂了,请求都是异常,打开业务日志和tomcat的日志排查,满屏的Too many open files,果然 lsof -p pid 预发机器,已经打满到了655...

zxx的专栏 7267

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

too many open files 解决终极篇

操作环境: centos7.X 前提: 部署的java服务莫名其妙的死掉了,查看日志后发现报错too many open files,由于这个问题的复现需要周期,所以开启了探索及解决问题之旅。 网上解决办法 经过不断的度娘之后,发现并没有什么真正的用处,以下是在网上千篇一律的解决方法: 1、查看并更改系统ulimit配置类型的 ulimit -a #查看系统内核配置等信息 ulimit -n 65535 #将打开文件数设置为...

tiny_du的博客 1万+

Too many open files 的解决之路

Tomcat报 SEVERE: Socket accept failed java.net.SocketException: Too many open files at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocke...

zhangce_9358的博客 1034

Tomcat报异常:Too many open files 的解决之路

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33779515的博客 1221

too many open files 的解决办法

1、首先,得定位问题,查,到底是哪些进程或线程打开了大量的连接(scoket)没有关闭 lsof -n | awk '{print $2}' | sort | uniq -c | sort -nr | more 2、如果Linux是内网环境不支持lsof命令,那就离线安装gcc 3、查看当前进程相关的连接 lsof | grep pid 4、jps查看当前java进程的状态 jps 5、查看当前进程属于哪个应用 ps -ef | grep pid 6、杀掉对

裸奔的蜗 牜的博客 1317

java.net.SocketException: Too many open files解决方法

一、错误现象 tomcat启动后,会出现前台页面无法访问,从日志中看错误:  2011-03-01 02:30:00 [com.asiainfo.aiox.common.rest.RestClient]-[ERROR] java.net.SocketException: Too many open files  Exception in thread "Thread-1168" ja

Mr. David 专栏 3万+

too many open files错误与解决方法

"too many open files" 错误与解决方法 问题现象:这是一个基于 java 的 web 应用系统,在后台添加数据时提示无法添加,于是登陆服务器查看 tomcat 日志,发现如下异常信息:java.io.IOException: Too many open files 通过这个报错信息,基本判断是系统可以用的文件描述符不够了,由于 tomcat 服务室系统 www 用户启动的,于是以 www 用户登陆系统...

单的格子 1572

Linux 系统“Too many open files” ” 错误

北大青岛_深圳嘉华_Linux 系统“Too many open files” ” 错误 1 . 问题现象 这是一个基于 Java 的 Web 应用系统,在后台添加数据时提示无法添加,于是登录服务器查看 tomcat 日志,发现了如下异常信息: java.io.IOException: Too many open files 通过这个错误,基本判断是系统可用的文件描述符不够了,由于 tom...

IT学习笔记记录 565

linux 句柄_Linux下tomcat报too many open files错误解决方法

问题描述tomcat日志中报too many open files导致程序无法读取文件错误。报错原因出现这句提示的原因是程序打开的文件/socket连接数量超过系统设定值。java.IOException:打开的文件过多经搜索,发现是由于Linux默认设置的句柄数为1024,当并发量过大,就不够用了;原因: 操作系统的中打开文件的最大句柄数受限所致,常常发生在很多个并发用户访问服务器的时候.因为...

weixin_39986466的博客 336
下一篇: IDEA新建类,类名出现删除线问题解决
FRee`澤
博客等级 码龄8年 0粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值