`
sealbird
  • 浏览: 583913 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

tomcat启动 java.io.FileNotFoundException Too many open files

阅读更多
引用
tomcat启动 java.io.FileNotFoundException Too many open files2011-03-09 09:29:55|  分类: Tomcat |  标签:limits  ulimit  conf  文件  pam     字号:大中小 订阅 .

昨晚一直未能部署成功,按照下面的方法解决了:
http://qbaok.blog.163.com/blog/static/101292652009216103048305/
早上起来tomcat又挂了 = =|||
老方法查日志,发现报 java.io.FileNotFoundException: Too many open files, 日了难道静发程序没关文件?
继续查,程序没问题……二了……
看看linux的open files得了,敲入ulimit -a
===========================
open files                  255
===========================
原来是这里阿.....
立即 ulimit -n 2048
ok。

等等...貌似还要改/etc/security/limits.conf
加入:* - nofile 2048
退出登陆
再ssh进来就效了
ok。


  暂时地,适用于通过 ulimit 命令登录 shell 会话期间。
  永久地,通过将一个相应的 ulimit 语句添加到由登录 shell 读取的文件中, 即特定于 shell 的用户资源文件,如:

1)、解除 Linux 系统的最大进程数和最大文件打开数限制:
        vi /etc/security/limits.conf
        # 添加如下的行
        * soft noproc 11000
        * hard noproc 11000
        * soft nofile 4100
        * hard nofile 4100
       说明:* 代表针对所有用户
                    noproc 是代表最大进程数
                    nofile 是代表最大文件打开数
2)、让 SSH 接受 Login 程式的登入,方便在 ssh 客户端查看 ulimit -a 资源限制:
        a、vi /etc/ssh/sshd_config
             把 UserLogin 的值改为 yes,并把 # 注释去掉
        b、重启 sshd 服务:
              /etc/init.d/sshd restart
3)、修改所有 linux 用户的环境变量文件:
vi /etc/profile
ulimit -u 10000
ulimit -n 4096
ulimit -d unlimited
ulimit -m unlimited
ulimit -s unlimited
ulimit -t unlimited
ulimit -v unlimited

或者直接在/etc/rc.local文件中写下:ulimit -n 4096,但需要将启动的程序也放在此文件中。

=============cut line===========
/etc/security/limits.conf 资料

  linux为了适应低性能电脑,所以默认情况下的系统参数比较低,那么我们就需要修改ulimit来提高linux的运行效率。
  1、打开/etc/security/limits.conf,在里面填写:
  * soft nproc 65536
  * hard nproc 65536
  * soft nofile 8192
  * hard nofile 65535
  * - sigpending 65536
  也可以填写其他项目,根据具体需要设置,设置后保存-重启,通过命令ulimit -a查看变化。


limits.conf的工作原理:

    limits.conf的后端是这样工作的:limits.conf是pam_limits.so的配置文件,然后/etc/pam.d/下的应用程序调 用pam_***.so模块。譬如说,当用户访问服务器,服务程序将请求发送到PAM模块,PAM模块根据服务名称在/etc/pam.d目录下选择一个 对应的服务文件,然后根据服务文件的内容选择具体的PAM模块进行处理。
    例:限制admin用户登录到sshd的服务不能超过2个
    在/etc/pam.d/sshd 中添加 session required pam_limits.so
    在/etc/security/limits.conf中添加 admin - maxlogins 2
    查看应用程序能否被PAM支持,用ldd
    limits.conf文件的参数
    Limits.conf文件的参数可以设置成以下两种形式之一:
    暂时地,适用于通过 ulimit 命令登录 shell 会话期间。
    永久地,通过将一个相应的 ulimit 语句添加到由登录 shell 读取的文件之一(例如 ~/.profile),即特定于 shell 的用户资源文件;或者通过编辑 /etc/security/limits.conf.
    1.core - 限制内核文件的大小
    何谓core文件,当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。 core文件是个二进制文件,需要用相应的工具来分析程序崩溃时的内存映像。
    系统默认core文件的大小为0,所以没有创建。可以用ulimit命令查看和修改core文件的大小。
     $ulimit -c
0
$ ulimit -c 1000
$ ulimit -c
1000

    -c 指定修改core文件的大小,1000指定了core文件大小。也可以对core文件的大小不做限制,如:
     # ulimit -c unlimited
#ulimit -c
unlimited

    如果想让修改永久生效,则需要修改配置文件,如 .bash_profile、/etc/profile或/etc/security/limits.conf.
    2.nofile - 打开文件的最大数目
    对于需要做许多套接字连接并使它们处于打开状态的应用程序而言,最好通过使用 ulimit –n,或者通过设置nofile 参数,为用户把文件描述符的数量设置得比默认值高一些


http://www.idouye.com 爱豆叶资料分享
分享到:
评论

相关推荐

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

    在Java编程中,"java.io.FileNotFoundException: ***** (Too many open files)" 是一个常见的错误,意味着程序尝试打开的文件数量超过了操作系统的限制。这个错误通常出现在处理大量文件或长时间运行的程序中,尤其...

    文件路径正确,报java.io.FileNotFoundException异常的原因及解决办法

    在Java开发过程中,使用文件I/O操作时遇到java.io.FileNotFoundException异常是一个比较常见的问题。即使文件路径正确无误,也可能会因为多种原因导致这个异常的发生。该异常属于编译时异常,即必须显式处理才能通过...

    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....

    java.io包讲解

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

    解决docker日志挂载的问题

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

    java.io的基础应用

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

    Android实现下载zip压缩文件并解压的方法(附源码)

    前言 其实在网上有很多介绍下载文件或者解压zip文件的文章,但是两者结合的不多,所以这...import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.Inp

    xml2jsonjar包

    import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.ArrayList; ...

    java编写文本编辑器

    import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing....

    学生管理系统

    import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; ...

    北大青鸟java.io经典例子

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

    package com.test;package com.test;package com.test;package com.test;

    import java.io.FileNotFoundException; import java.io.IOException; public class B { public static void main(String[] args) { File file = new File("c:\\a.jpg"); FileInputStream is = null; try { ...

    大数据hadoop winutils.exe

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

    java file,java读取txt文档

    在Java中,`java.io.File`类是用于操作文件和目录的基本工具。它可以用来创建、删除、重命名文件,以及获取文件的属性信息,如大小、路径、最后修改时间等。 要读取一个TXT文档,我们需要使用Java的I/O流。这里主要...

    计算机网络实验报告 获取MAC socket通信

    import java.io.FileNotFoundException; import java.io.IOException; public class FileServer { /** * @param args */ public static void main(String[] args) { // 读取本地文件 try { java.io....

    Java课程设计-老鼠走迷宫

    import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.Random; import java.util.Scanner; /** * 使用递归分割绘制迷宫 * * @author WangSong * ...

    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....

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

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

    eclipse 启动异常

    启动eclipse 时出现错误警告

    ReadWriteTxt.java

    import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java....

Global site tag (gtag.js) - Google Analytics