解决java报Too many open files错误
本文根据网上文章整理。
在出现Too many open files问题后,首先得找出主要原因。最大的可能是打开的文件或是socket没有正常关闭。为了定位问题是否由Java进程引起,通过Java进程号查看当前进程占用文件描述符情况:
lsof -p $java_pid 每个文件描述符的具体属性
lsof -p $java_pid | wc -l 当前Java进程file descriptor table中FD的总量
lsof -p $java_pid 每个文件描述符的具体属性 lsof -p $java_pid | wc -l 当前Java进程file descriptor table中FD的总量
分析命令的结果,可判断问题是否由非正常释放资源所引起。
原因一、linux设置问题
查看系统允许打开的最大文件数
#cat /proc/sys/fs/file-max
查看每个用户允许打开的最大文件数
ulimit -a
使用ulimit -a命令可以查看ulimit设置,使用ulimit -n4096命令可以直接设置ulimit属性,但是如果需要设置永久生效,可以按照如下方式: vi /etc/security/limits.conf # 添加如下的行
* soft noproc 11000
* hard noproc 11000
* soft nofile 4096
* hard nofile 4096
说明:
* 代表针对所有用户
noproc 是代表最大进程数
nofile 是代表最大文件打开数
原因二、WebLogic设置问题
WebLogic的配置文件指定了部署在WebLogic上的应用允许同时打开的最大文件数量。
首先查看WebLogic本身的配置commEnv.sh(*** \common\bin),发现如下内容:
resetFd() {
if [ ! -n "`uname-s |grep -i cygwin || uname -s |grep -i windows_nt || \
uname -s|grep -i HP-UX`" ]
then
maxfiles=`ulimit -H-n`
if [ "$?" ="0" -a `expr ${maxfiles} : '[0-9][0-9]*$'`-eq 0 ]; then
ulimit -n 1024
fi
fi
}
……
resetFd
在该配置文件中指定了该数量,其默认值为1024,将其修改,重新启动WebLogic。
转载于:https://blog.51cto.com/xiaoliutolaoliu/1277160
解决java报Too many open files错误相关推荐
- java访问错误404_如何解决 Java web 项目中的 404 错误
在使用 Tomcat 进行 Java Web 开发的时候,经常会遇到以下 HTTP 404 错误: 错误代码为 HTTP 404(未找到),描述信息是: "The origin server ...
- java中library找不到了,如何解决java.library.path中没有conscrypt_openjdk_jni错误?
java -jar signapk.jar platform.x509.pem platform.pk8 app-debug.apk ~/Desktop/test.apk ,但我得到了以下错误: Ex ...
- 解决nodejs报digital envelope routines::unsupported错误的方法
这两天准备在github上找一个vue3的后台框架学习一下,后来找到一个vue-admin-better这个VUE3开发后台框架,感觉不错,准备安装了跑起来看一看效果 就运行 npm run serv ...
- java报错空指针异常_java – 空指针异常错误,没有明显的代码错误
我在这里有一个错误,我不知道它来自哪里.我在初学者的 java课程是高中,所以我在这里还没有太多的经验.我有3个相互合并的程序. 我有一个卡片类,可以创建一张扑克牌 //*************** ...
- 解决java报错class [Ljava.lang.Object; cannot be cast to class [Ljava.lang.Comparable
记录一下遇见过的奇怪报错~ 正确代码 public class Test<T> {private T[] test;private int size;Test() {size = 8;te ...
- 解决页面报错 500-内部服务器错误
解决方法 进入服务器
- 成功解决java报错:Implicit super constructor XX() is undefined. Must explicitly invoke another constructor.
今天写一个有关继承的代码时遇到了这个问题: Implicit super constructor XX() is undefined. Must explicitly invoke another c ...
- 解决java虚拟机内存不足的错误 java.lang.OutOfMemoryError: PermGen space 没有文件TOMCAT_HOME/bin/catalina.sh
网上解决java.lang.OutOfMemoryError: PermGen space这个错误多数采用的是修改文件TOMCAT_HOME/bin/catalina.sh 的配置,经过我的实践发现此 ...
- java报序列错误和违反唯一约束条件的错误
java报序列错误是因为我建表的时候没有建序列, 建表后新建序列 --新建序列 create sequence SEQ_T_USER; --ORACLE查看所有已创建的序列 select * from ...
最新文章
- Java内存模型之happens-before
- android java显示_Android Studio没有显示java类源代码
- 实现连麦_微信重磅更新,视频号直播连麦打赏美颜上线,新增巨大流量入口
- ab st语言编程手册_从零开始学习ST/SCL编程语言:一赋值及条件执行指令的讲解...
- 服务器测试文档格式,服务器测试文档格式
- python 调用图灵机器人api实现简单的人机交互
- DesignSurface简介
- Office 365强势来袭PART2:云中SharePoint
- winform利用html开发,Winform开发框架之HTML编辑控件介绍
- 字符编码——简体中文编码中区位码、国标码、内码、外码、字形码的区别及关系
- 智慧交通:数智化地铁大屏管控运维平台
- 区块链分叉带来的安全挑战
- linux 挂载ISO镜像文件
- java接口防抖_RxJava功能防抖
- 小甲鱼python入门_python基础笔记(非系统/自用/参考小甲鱼的零基础入门学习python)上...
- 海思AI芯片(Hi35XX): 图像jpg转.bgr
- Hive面试题考点-整理
- Android系统中UID
- Luogu P3853 路标设置
- SpringBoot SSM vue在线作业考试系统
热门文章
- FLEX APIs、Libs、Components
- 在线JSON转io-ts工具
- 在线IP地址查询工具
- DataFrame.apply()
- 这个沙盒游戏建立在数字时代,你能通关吗?
- softmax分类算法原理(用python实现)
- C#学习常用类(1003)---Timer类(System.Timers.Timer)
- IIS7.5安全配置研究
- Go 语言初级教程之一[变量声明]
- function adapter bind(C++11)