本文根据网上文章整理。

在出现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错误相关推荐

  1. java访问错误404_如何解决 Java web 项目中的 404 错误

    在使用 Tomcat 进行 Java Web 开发的时候,经常会遇到以下 HTTP 404 错误: 错误代码为 HTTP 404(未找到),描述信息是: "The origin server ...

  2. java中library找不到了,如何解决java.library.path中没有conscrypt_openjdk_jni错误?

    java -jar signapk.jar platform.x509.pem platform.pk8 app-debug.apk ~/Desktop/test.apk ,但我得到了以下错误: Ex ...

  3. 解决nodejs报digital envelope routines::unsupported错误的方法

    这两天准备在github上找一个vue3的后台框架学习一下,后来找到一个vue-admin-better这个VUE3开发后台框架,感觉不错,准备安装了跑起来看一看效果 就运行 npm run serv ...

  4. java报错空指针异常_java – 空指针异常错误,没有明显的代码错误

    我在这里有一个错误,我不知道它来自哪里.我在初学者的 java课程是高中,所以我在这里还没有太多的经验.我有3个相互合并的程序. 我有一个卡片类,可以创建一张扑克牌 //*************** ...

  5. 解决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 ...

  6. 解决页面报错 500-内部服务器错误

    解决方法 进入服务器

  7. 成功解决java报错:Implicit super constructor XX() is undefined. Must explicitly invoke another constructor.

    今天写一个有关继承的代码时遇到了这个问题: Implicit super constructor XX() is undefined. Must explicitly invoke another c ...

  8. 解决java虚拟机内存不足的错误 java.lang.OutOfMemoryError: PermGen space 没有文件TOMCAT_HOME/bin/catalina.sh

    网上解决java.lang.OutOfMemoryError: PermGen space这个错误多数采用的是修改文件TOMCAT_HOME/bin/catalina.sh 的配置,经过我的实践发现此 ...

  9. java报序列错误和违反唯一约束条件的错误

    java报序列错误是因为我建表的时候没有建序列, 建表后新建序列 --新建序列 create sequence SEQ_T_USER; --ORACLE查看所有已创建的序列 select * from ...

最新文章

  1. Java内存模型之happens-before
  2. android java显示_Android Studio没有显示java类源代码
  3. 实现连麦_微信重磅更新,视频号直播连麦打赏美颜上线,新增巨大流量入口
  4. ab st语言编程手册_从零开始学习ST/SCL编程语言:一赋值及条件执行指令的讲解...
  5. 服务器测试文档格式,服务器测试文档格式
  6. python 调用图灵机器人api实现简单的人机交互
  7. DesignSurface简介
  8. Office 365强势来袭PART2:云中SharePoint
  9. winform利用html开发,Winform开发框架之HTML编辑控件介绍
  10. 字符编码——简体中文编码中区位码、国标码、内码、外码、字形码的区别及关系
  11. 智慧交通:数智化地铁大屏管控运维平台
  12. 区块链分叉带来的安全挑战
  13. linux 挂载ISO镜像文件
  14. java接口防抖_RxJava功能防抖
  15. 小甲鱼python入门_python基础笔记(非系统/自用/参考小甲鱼的零基础入门学习python)上...
  16. 海思AI芯片(Hi35XX): 图像jpg转.bgr
  17. Hive面试题考点-整理
  18. Android系统中UID
  19. Luogu P3853 路标设置
  20. SpringBoot SSM vue在线作业考试系统

热门文章

  1. FLEX APIs、Libs、Components
  2. 在线JSON转io-ts工具
  3. 在线IP地址查询工具
  4. DataFrame.apply()
  5. 这个沙盒游戏建立在数字时代,你能通关吗?
  6. softmax分类算法原理(用python实现)
  7. C#学习常用类(1003)---Timer类(System.Timers.Timer)
  8. IIS7.5安全配置研究
  9. Go 语言初级教程之一[变量声明]
  10. function adapter bind(C++11)