Too many open files 异常

1、linux有打开文件句柄的限制(可以使用ulimit -a 查看当前用户可最大打开的文件句柄数,如果没有设的话默认值是1024,并可以通过ulimit -u xxx进行修改)。

2、修改如果是在通过SSH工具进行登录的客户端窗口上做的话,只能暂时生效,当窗口一关闭,下次看还是1024这个默认值。

3、如果要永久生效,必须修改/etc/security/limits.conf文件,在上面加入

* - nofile 65536 这样就可以一直生效了。

注:1.(此时type用“-”,表示hard和soft同时设定。domain设置为星号代表全局,也可以针对不同的用户做出不同的限制)

4、之前启动过的程序要重新启动才能使用新的值。

5、要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:

  session required /lib/security/pam_limits.so  (使用方法 http://kerry.blog.51cto.com/172631/300784)

时间: 2024-11-08 14:17:19

Too many open files 异常的相关文章

too many open files异常及解决办法

1.问题描述: 最近项目中由于大批量的操作文件,项目部署在Linux服务器上,突然发现出现了 too many open files异常. 经过一番查阅,(直译过来就是文件打开数过多)但是查阅了相关的文档,too many open files 不仅是打开文件数,还包括socket等,其实这是Linux的句柄数限制. 2.解决办法: (1).使用  ulimit -a 就可以查看 其中的 open files 就是句柄限制数量 (2).增大句柄数限制 root 用户登录 修改配置   vi /e

详解 Too many open files

运行在Linux系统上的Java程序可能会出现"Too many open files"的异常情况,且常见于高并发访问文件系统,多线程网络连接等场景. 程序经常访问的文件.socket在Linux中都是文件file,系统需要记录每个当前访问file的name.location.access authority等相关信息,这样的一个实体被称为file entry.“open files table”(图中橙色标识)存储这些file entry,以数组的形式线性管理.文件描述符(file

Too many open files

环境: 192.168.128.111(ha1.haproxy.org) -> CentOS 6.3 64bit    siege 2.78 192.168.128.10(n1.web.org) -> CentOS 6.5 64bit     nginx 1.6.2 在192.168.128.111上使用siege对192.168.128.10的nginx做压力测试 [[email protected] bin]# siege -c 6500 -r 1 " Transactions:

Too many open files解决方案及原理

以下是我解决Too many open files异常时学习的知识的理解和总结,如有不正确指出,敬请指出! 此问题中文搜索雷同,你可以尝试以下关键字:"file descriptor leak" "stackoverflow" "how to solve open files exception“等. 一下是我的一些总结,或许对您有所帮助! 1.fdfd is short for file descriptor在linux环境下,任何事物都以文件的形式存在

【netty】Netty系列之Netty百万级推送服务设计要点

1. 背景 1.1. 话题来源 最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题.问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为如下几类: Netty是否可以做推送服务器? 如果使用Netty开发推送服务,一个服务器最多可以支撑多少个客户端? 使用Netty开发推送服务遇到的各种技术问题. 由于咨询者众多,关注点也比较集中,我希望通过本文的案例分析和对推送服务设计要点的总结,帮助大家在实际工作中少走弯路. 1.2. 推送服务

【深入Java虚拟机】之八:Java垃圾收集机制

转载请注明出处:http://blog.csdn.net/ns_code/article/details/18076173 对象引用 Java中的垃圾回收一般是在Java堆中进行,因为堆中几乎存放了Java中所有的对象实例.谈到Java堆中的垃圾回收,自然要谈到引用.在JDK1.2之前,Java中的引用定义很很纯粹:如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用.但在JDK1.2之后,Java对引用的概念进行了扩充,将其分为强引用(Stro

Java 垃圾收集机制

对象引用 Java 中的垃圾回收一般是在 Java 堆中进行,因为堆中几乎存放了 Java 中所有的对象实例.谈到 Java 堆中的垃圾回收,自然要谈到引用.在 JDK1.2 之前,Java 中的引用定义很很纯粹:如果 reference 类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用.但在 JDK1.2 之后,Java 对引用的概念进行了扩充,将其分为强引用(Strong Reference).软引用(Soft Reference).弱引用(Weak Refe

Netty系列之Netty百万级推送服务设计要点

原文:http://www.infoq.com/cn/articles/netty-million-level-push-service-design-points 1. 背景 1.1. 话题来源 最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题.问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为如下几类: Netty是否可以做推送服务器? 如果使用Netty开发推送服务,一个服务器最多可以支撑多少个客户端? 使用Netty开发

005 调优案列分析与实战

1 案例分析 ① 高性能硬件上的程序部署策略 在高性能硬件上部署程序,目前主要有两种方式: 通过64位JDK来使用大内存. 使用若干个32位虚拟机建立逻辑集群来利用硬件资源. 使用64位JDK来管理大内存,还需要考虑下面可能面临的问题: 内存回收导致的长时间停顿. 现阶段,64位JDK的性能测试结果普遍低于32位JDK. 需要保证程序足够稳定,因为这种应用要是产生堆溢出几乎就无法产生堆转储快照(因为要产生十几GB乃至更大的Dump文件),哪怕产生了快照也几乎无法进行分析. 相同程序在64位JDK