`
yizhilong28
  • 浏览: 233053 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

java.io.FileNotFoundException: *****(Too many open files)

 
阅读更多

      在linux下跑一个多线程读取文件的程序,待读取文件有数十万个。程序读取过程中抛出如下异常*****(Too many open files)。

 

      原因是由于linux限制了一次会话中,程序最大同时打开文件数目。在redhat5中,该数值为1024。可以使用ulimit -n 验证。

      解决办法

1、临时修改该数值,可使用

ulimit -n XXXX
 

2、永久修改

 

2.1. 查看当前设置

 

ulimit -n
(默认是1024)

2.2. 查看系统可接受的最大打开文件数(一般默认已足够,不用修改)



# cat /proc/sys/fs/file-max
(默认可能是372998,已足够)

如果小于你期望的值,可以改大:


# echo 327998 > /proc/sys/fs/file-max
或者写入 /etc/sysctl.conf 中,以便重启也能生效:

fs.file-max = 327998


2.3. 修改/etc/security/limits.conf文件,设置用户最大打开文件数


#<domain>      <type> <item>         <value>
 
* - nofile 2048    (添加这一行)
这样即设置系统每个用户的最大打开文件数为2048。

注意 nofile 参数在 type 类型上有2个可能的选项:hard 和 soft ,这两个值都需要设置,“-”代表同时设置这2个值为后面的数字。

hard limit 只是作为 soft limit 的上限,soft limit 才是你设置的系统当前限制。当你设置 hard limit 后,你以后设置的 soft limit 的值就只能小于 hard limit 。普通用户可以降低 hard limit 的值,但是不能提高它,只有 root 用户才能提高 hard limit。

2.4. 退出shell登陆,重新登陆一次即生效(运行ulimit -n 检查)

已经启动的进程,可能需要关闭后重新启动才生效。

 

参考

http://chen.wenz.blog.163.com/blog/static/6774385420105994434152/

 

附件  来源网络整理

 

 

分享到:
评论

相关推荐

    System.IO.FileNotFoundException报错

    System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.ReportViewer.WinForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies....

    最最常用的 100 个 Java类分享

    21. `java.io.FileNotFoundException`:当尝试打开不存在的文件时抛出的异常。 22. `java.io.OutputStream`:OutputStream是所有字节输出流的基类。 23. `java.util.regex.Pattern`:Pattern类用于编译正则表达式...

    解决docker日志挂载的问题

    关键是本地服务器没有写入的权限 关键看这里吧(Permission denied), 一直没有看正方,以为是配置... java.io.FileNotFoundException: logs/bandwidth.log.2019-04-25.log (Permission denied) at java.io.FileNotFou

    jdk1.8.131

    java运行环境jdk1.8.0_131,windows下64位操作系统,添加环境变量JAVA_HOME:C:\Program Files\Java\jdk1.8.0_131 classpath:.,C:\Program Files\Java\jdk1.8.0_131jre\lib\rt.jar,C:\Program Files\Java\jdk1.8.0_131\...

    eclipse 启动异常

    启动eclipse 时出现错误警告

    FileNotFoundException: open failed: ENOENT (No such file or directory) 问题解决方案

    这个问题定位了大半天,先坐下记录。可能每个人遇到的问题情况不一样,我先说下我出现的问题解决方案:将mkdir() 改成mkdirs() ,至于为什么,后面介绍。 今天测试找我,说项目中测试录像直接crash了。...

    大数据hadoop winutils.exe

    而针对Windows用户,开发和运行Hadoop应用时会遇到一个常见问题:“Did not find winutils.exe: java.io.FileNotFoundException”。这个错误是由于Hadoop在Windows环境下找不到`winutils.exe`文件所引起的。`...

    java.io包讲解

    ### Java.io包详解 #### 一、概述 Java.io包是Java编程语言中非常重要的一个标准库,它提供了丰富的类和接口,支持多种输入/输出流的处理方式,包括文件I/O、网络通信等场景。Java.io包的核心设计思想是以流...

    window 本地执行 hadoop 缺失的hadoop.dll 和 winutils.exe 文件

    Caused by: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. at org.apache.hadoop.util.Shell.checkHadoopHomeInner(Shell.java:468) at org.apache.hadoop.util.Shell....

    java 解析excel

    Java解析Excel是Java开发中常见的任务,特别是在处理数据导入导出、数据分析或自动化测试场景下。Apache POI库是Java领域最广泛使用的工具之一,专门用于读取和写入Microsoft Office格式的文件,包括Excel(.xls和....

    JAVA常见异常解析,面试用

    - **java.io.FileNotFoundException**:打开或创建指定的文件失败时抛出。 - **java.lang.NumberFormatException**:尝试将字符串转换为数字类型,但格式不正确时抛出。 - **java.sql.SQLException**:处理数据库...

    java.io的基础应用

    在Java中,IO操作主要分为字节流和字符流两大类,分别由`java.io.InputStream`和`java.io.OutputStream`以及`java.io.Reader`和`java.io.Writer`作为基类。字节流处理的是8位的字节,而字符流处理的是16位的Unicode...

    Java的异常类

    - **`java.io.FileNotFoundException`**:文件未找到异常。 - **`java.lang.NumberFormatException`**:字符串转换为数字异常。 - **`java.sql.SQLException`**:操作数据库异常。 - **`java.io.IOException`**...

    北大青鸟java.io经典例子

    在Java编程语言中,`java.io`包是核心部分之一,它包含了用于输入/输出(I/O)操作的各种类和接口。北大青鸟的课程中,`java.io`的经典例子通常会涵盖基本的文件读写、流的使用、数据转换等关键概念。以下是基于这个...

    java POI读取Excel文件基本用法Demo

    Java POI库是Apache软件基金会开发的一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel、Word和PowerPoint等。在本示例"Java POI读取Excel文件基本用法Demo"中,我们将深入探讨如何使用Java POI库来...

    Java二进制方式读取文件.doc

    - `java.io.FileNotFoundException`: 当尝试打开指定路径的文件失败时抛出的异常。 - `java.io.IOException`: 执行I/O操作时可能抛出的通用异常。 2. **定义类和主方法**: - 定义了一个名为`FileOperation`的...

    ICSharpCode.SharpZipLib【内含0.86.0.518版本和0.84.0.0版本】

    System.IO.FileNotFoundException:“未能加载文件或程序集“ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73”或它的某一个依赖项。系统找不到指定的文件。” ...

    websphere常见问题及解决办法

    WebSphere 是一个基于 Java 的应用服务器,广泛应用于企业级应用开发中。然而,在实际开发和部署过程中,可能会遇到一些棘手的问题,影响应用程序的稳定性和性能。 Error 404: SRVE0190E 的解决办法 Error 404: ...

Global site tag (gtag.js) - Google Analytics