系统并发报too much open files 错误

在并发系统里面,有时候经常存在报open too much files 的异常信息.甚至导致系统宕机情况.在这种情况里面.其原因暂时发现有两个.第一个是java程序没有写好,打开了一些资源没有及时关闭.第二个就是linux系统上面的配置配好.一般linux上面配置打开文件数默认为1024.使用命令ulimit -n查看.一般1024配置不适合并发系统.应该改大点.同时如果利用nginx做反向代理和负载均衡的话.最好也设置一下打开文件数.其次就是我们的java程序了.这也是我们比较关心的.排查手段如下:先在Linux系统上面找到java系统的Pid  我习惯使用的命令为ps aux|grep java  第一行第二列那串数字就是java系统的pid.然后利用lsof -p [java系统pid]|wc -l 去查看Java系统打开多少个文件了..如果java程序没有问题的话.显示的那个数字到了一定程度就会稳定下来了.如果真是java程序没有写好.那个数字会一直升上去.导致系统崩掉

时间: 2024-10-11 17:31:03

系统并发报too much open files 错误的相关文章

scrapy遇到Couldn't bind: 24: Too many open files.错误的解决

现象为爬虫日志报出Couldn't bind: 24: Too many open files.错误,netstat -natep | grep 代理端口 或爬虫进程ID,有大量ESTABLISHED的连接. Socket error 10024,具体错误信息就是Too many open files . 由于爬虫使用了代理,每次请求切换一次代理IP,代理连接有时会发生异常,在爬虫高并发的情况下,会产生许多由于代理连接异常导致的半连接假死连接,这些连接系统在进行keepalive探测后会进行回收

系统调优:如何解决系统报错too many open files瓶颈

一.检查系统版本是否手工升级 [[email protected] ~]# uname -r   linux的内核版本号 2.6.32-358.el6.x86_64 [[email protected] ~]# cat /proc/version Linux version 2.6.32-358.el6.x86_64  [[email protected] ~]# cat /etc/issue  系统安装时默认的发行版本 CentOS release 6.4 (Final) [[email pr

The type XXX cannot be resolved. It is indirectly referenced from required .class files错误.....

遇到The type XXX cannot be resolved. It is indirectly referenced from required .class files错误.....,查找的解决办法如下: 一: 错误提示: It is indirectly referenced from required .class file 错误的解决 原因:你导入得jar依赖另一个jar 解决方法:导入缺失的包

Choose unique values for the 'webAppRootKey' context-param in your web.xml files! 错误的解决

大意是Log4jConfigListener在获取webapp.root值时,被后一context的值替换掉了,所以要在各个项目的web.xml中配置不同的webAppRootKey值,随即在其中一个web.xml中添加: <context-param> <param-name>webAppRootKey</param-name> <param-value>web.sample.root</param-value> </context-pa

centos7,进程最大打开文件数 too many open files错误

遇到一问题,tomcat最近发生几次异常,查看日志,发现一直报 too many open files,熟悉的同学都知道这是用户打开文件数过多导致的, 再用命令ls /proc/20861/fd/ | wc -l 查看当前tomcat进程打开文件数,果然已经4095个,这种问题解决办法就是增大文件打开数即可,简单的很. 但如果能这么容易的解决了,我也就不用再写这篇博客了.因为我查了下当前用户所能打开的文件数发现最大能打开的文件数是65535,远远大于4096. 而/etc/security/li

Linux服务器报错too many open files错误解决方案

1.本质解决方案按照oracle的安装脚本中以下几项文件进行相应配置: cp /etc/security/limits.conf /etc/security/limits.conf.bak echo "oracle soft nproc 2047" >>/etc/security/limits.conf echo "oracle hard nproc 16384" >>/etc/security/limits.conf echo "

Too many open files错误与解决方法

致前辈:该问题的解决思路给了我很大的启发,文章摘抄自 马哥linux运维 问题现象:这是一个基于Java的web应用系统,在后台添加数据时提示无法添加,于是登陆服务器查看Tomcat 日志,发现如下异常信息,java.io.IOException:too many open files 通过这个报错信息,基本判断是系统可以使用的文件描述符不够了,由于Tomcat服务系统www用户启动的,于是以www 用户登陆系统,通过ulimit -n 命令查看系统可以打开最大文件描述符的数量: $ ulimi

ubuntu12.04 编译android4.2源码 gcc: fatal error: no input files错误

============问题描述============ 最近在ubuntu12.04 编译android4.2源码时遇到一个编译错误,错误如下: host C++: libhost <= build/libs/host/pseudolocalize.cpp gcc: fatal error: no input files compilation terminated. make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_inte

SCCM2012 R2系统部署时,客户端报0x80004005错误(2)

错误现象: 裸机部署过程中,报"Task Sequence:任务序列名 has failed with the error code(0x80004005)"错误,并生动重启计算机. 分析过程: 通过SCCM的"部署状态"查看此任务序列的部署过程: 解决方案: 通过查看任务序列的"部署状态"确定是任务序列配置的问题,接下来我们打开此任务序列.发现此任务序列的"应用操作系统"和"应用数据映像1"执行的操作都是