linux too many open files解决方案

   这个问题的出现原因是system对程序打开files数量的限制问题。

  用 ulimit -a 命令可以查看

  [root@5 ~]# ulimit -a

  core file size (blocks, -c) 0

  data seg size (kbytes, -d) unlimited

  scheduling priority (-e) 0

  file size (blocks, -f) unlimited

  pending signals (-i) 4096

  max locked memory (kbytes, -l) 32

  max memory size (kbytes, -m) unlimited

  open files (-n) 1024

  pipe size (512 bytes, -p) 8

  POSIX message queues (bytes, -q) 819200

  real-time priority (-r) 0

  stack size (kbytes, -s) 10240

  cpu time (seconds, -t) unlimited

  max user processes (-u) 4096

  virtual memory (kbytes, -v) unlimited

  file locks (-x) unlimited

  可以看出,对open files的限制数是1024,我们可以通过修改这个值来增加可以打开的文件数。

  ******************************************************************

  临时修改:

  将其改为2048,用 ulimit -n 2048.

  当你把open files的值增大到一定程度,你的Too many open files就不会再出现了。

  ******************************************************************

  若要 长久 改变这两个参数值,就要修改/ect/security/limits.conf,在文件中加上两行:

  代码如下:

  * - nofile 65535

  * - nproc 65535

  注:这行设置了每个用户的默认打开文件数为2048。 注意"nofile"项有两个可能的限制措施。就是项下的hard和soft。 要使修改过得最大打开文件数生效,必须对这两种限制进行设定。 如果使用"-"字符设定, 则hard和soft设定会同时被设定。

  硬限制表明soft限制中所能设定的最大值。 soft限制指的是当前系统生效的设置值。 hard限制值可以被普通用户降低。但是不能增加。 soft限制不能设置的比hard限制更高。 只有root用户才能够增加hard限制值。

  当增加文件限制描述,可以简单的把当前值双倍。 例子如下, 如果你要提高默认值1024, 最好提高到2048, 如果还要继续增加, 就需要设置成4096。

  最后用ulimit -a再次查看,open files的值,没什么问题的话,就已经改过来了。

  ******************************************************************

  -------------------------------------------------------------

  经过以上设置,退出shell再次登录,还是不生效,来点绝的

  到//etc/profile下,加入一行ulimit -SHn 51200 (注意里面已经有一条关于ulimit的设置)

  到rc.local下,加入一行 ulimit -SHn 51200 (不知这条有没有必要,其实我还没加)

  ulimit -S -c 0 > /dev/null 2>&1

  这条语句设置了对软件资源和对core文件大小的设置

时间: 2024-10-26 08:48:02

linux too many open files解决方案的相关文章

weblogic10.0 linux, too many open files该问题出现时未达到linux未达到open files上限

问题描述 产品环境:weblogic10.0 集群(4 manageed servers),linux(仅供对比 测试环境:weblogic10.0 集群(2 managed servers)) ,linux 没出现too many open files 问题产品环境和测试环境的weblogic和linux配置一样.产品环境[ecgadmin@g4t0923g ~/domain/ecgDomain/servers/ecgNode1/logs]$ ulimit -acore file size (

Linux下乱码问题的解决方案小结_Linux

linux系统中文件名内容为urf8编码, windows系统中文件名默认为gbk编码, 多数文档使用gbk编码,系统采用utf8编码 无中文输入法导致的乱码 1.ibus输入法 Ubuntu 系统安装后已经自带了ibus输入法,在英语环境下默认不启动.配置ibus自动启动可以在ubuntu系统菜单上选择System --- Preferences --- Startup Applications,在该窗口中增加一个程序: Name: ibus-daemon Command: ibus-daem

集群和Linux上的集群解决方案

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   一 集群和Linux上的集群解决方案 集群系统(Cluster)主要解决下面几个问题: 高可靠性(HA) 利用集群管理软件,当主服务器故障时,备份服务器能够自动接管主服务器的工作,并及时切换过去,以实现对用户的不间断服务. 高性能计算(HP) 即充分利用集群中的每一台计算机的资源,实现复杂运算的并行处理,通常用于科学计算领域,比如基因分析,化学分析等. 负载平衡

一个稳定高效的Linux虚拟主机业务完整解决方案

方案背景 在互联网信息高速发展的今天,IDC行业的发展更是势如破竹,因而更多的人亟待简单易行的IDC解决方案.为解决这一个IDC行业普遍关注的问题,我们推出此解决方案以供参考. 整体目标 构建一个完全可运行,实施简单,维护方便且安全稳定的主机运营平台. 需求分析 1. 基础设施 由于此方案是主机运营平台的解决方案,所以在基础设施上我们需要有一台或多台物理服务器.对于物理服务器的配置不做硬性要求,可根据需要自行选择,但要能够保证实现最基本的运营需求. 2. 系统要求 (1)操作系统 在基础设施架构

Jetty - linux -Too many open files

今天碰到个问题,jetty系统跑的时候点击页面突然报 internal server error 错,翻了一下日志,发现很多jsp not found的错误: 2013-11-28 04:29:16,500 WARN [SymmetricDS] [log] [1002316844@qtp-718123118-23] /xx/xx/xx/xx/xx/xx-wizard.do org.apache.jasper.JasperException: PWC6117: File "/common/erro

linux下改变键盘映射解决方案_unix linux

linux xmodmap修改键盘映射Caps_Lock和Super_L互换 换awesome窗口管理器去了.由于ubuntu的unity还是不太稳定.偶尔卡住半天,受不了果断会曾经的awesome.话说用Win/Super的时候太多了.琢磨了半天还是不太习惯,想着还是把Caps lock和super给换一下. 用~$ xev |grep keycode 按要互换的两个键的到以下信息: 1 state 0×50, keycode 133 (keysym 0xffeb, Super_L), sam

linux服务器并webbench攻击解决方案

 首先我来说一下这个被攻击的网站的大概部署状况.这个网站主要是nginx+mysql+php,有两台服务器分别放了web和数据库,web只对外开启了80端口操作系统是centos,而数据库服务器则在内网,攻击者的手段其实很简单,用webbench网站压力测试工具发送大量的请求到服务器,之前的时候发送每一个请求之后数据库就会相应,然后读取内容最终显示,造成数据库和web之间大量的交换数据,甚至导致mysql达到连接数上限,请求被拒绝,而且攻击者时间挺多的,他不停地换浮动ip,因此直接用防火墙封锁i

文件上传到linux服务器 文件名为乱码

问题描述 我在windows系统 用fileupload上传包含中文文件名的文件,上传到linux服务器后文件名为乱码.我用乱码字符串做 GBK转UTF-8可以变为正常原本想在上传后先用程序重命名一遍UTF-8转GBK的文件名,但是出现了另外一种乱码.请教知道这个问题的解决方法或原因,谢谢.另外我用程序创建一个文件也会出现这种乱码. 问题补充:asyty 写道 解决方案 你的shell的编码字符集呢?为啥乱码是你想要的.....可以先把shell设置成utf-8再看看 你java传上去的竟然还是

Linux系统下的动态DNS服务配置方法详解

在网络管理中,对于DNS服务的管理是一项基础性的工作.随着用户规模的扩大,频繁地手工修改DNS的区域数据库文件不是一件轻松的工作.关于动态DNS(DDNS)的研究逐渐引起了人们的关注,不同的平台都推出了自己的解决方案.本文将详细介绍Linux环境下DDNS的解决方案,即由Internet Software Consortium(ISC)开发的BIND-DNS和DHCP(Dynamic Host Configure Protocol,动态主机配置协议)协同工作,进而共同实现DDNS的方法. 在Li