修改linux打开文件数
2014-04-18 10:48:57 weixin_33841503 阅读数 5

有时候在程序里面需要打开多个文件,进行分析,系统一般默认数量是1024,(用ulimit -a可以看到)对于正常使用是够了,但是对于程序来讲,就太少了。修改办法:重启就OK修改2个文件。
1./etc/security/limits.conf
vi /etc/security/limits.conf
加上:
* soft nofile 65535
* hard nofile 65535

2./etc/pam.d/login
session    required     /lib/security/pam_limits.so


ulimit -a查看 下 OK

查看open files 的大小

[root@web2 ~]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
max nice                        (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 69632
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
max rt priority                 (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 69632
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited


转载于:https://blog.51cto.com/pesen/1397667

2011-12-08 22:44:14 zouyongjin 阅读数 488

http://hi.baidu.com/lybadmin/blog/item/2f0cfd6ed3311ed580cb4ab9.html

http://blog.csdn.net/flcandclf/article/details/1740173

http://baike.baidu.com/view/1520054.htm

http://news.newhua.com/news1/safe_technology/2008/115/08115133337E38GCKGB2EK97407F66878C384K95BDH4J1KH36ECBFJ8_4.html?lt=common


2010-12-22 14:26:23 xiaolong0211 阅读数 58

由于建立SOCKET会占用一个系统句柄,效果类似于打开了一个文件。

  LINUX默认的最大文件打开个数是1000(可能不同内核版本不一样),所以如果并发太多连接时就会报错。可通过下面几个步骤修改:

  1. /etc/pam.d/login 添加
  session required /lib/security/pam_limits.so
  注意看这个文件的注释

  2. /etc/security/limits.conf 添加
  www - nofile 1006154
  www 是一个用户,如果是想所有用户生效的话换成 * ,设置的数值与硬件配置有关,别设置太大了。

  3. 修改 /etc/rc.local 添加
  echo 8061540 >; /proc/sys/fs/file-max

  做完3个步骤,就可以了。

2014-09-28 14:35:01 chengyue2007 阅读数 166

修改ulimit -n 的最大值,永久修改为65535



 
1.vi /etc/security/limits.conf 最后添加

2.vi /etc/pam.d/login最后添加禁止调试文件

3.退出当前会话,重新登录

 

或者直接使用命令行

 

 

 关于RHEL6中ulimit的nproc限制

http://blog.csdn.net/kumu_linux/article/details/8301760

当前shell下更改用户可打开进程数

修改limits.conf配置文件生效

[root@kumu ~]# ulimit -a        //查看当前配置文件ulimit全局系数

core file size          (blocks, -c) 0

data seg size           (kbytes, -d) unlimited

scheduling priority            (-e) 0

file size               (blocks, -f) unlimited

pending signals                (-i) 1829

max locked memory       (kbytes, -l) 64

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) 1024

virtual memory          (kbytes, -v) unlimited

file locks                     (-x) unlimited

[root@kumu ~]# vim /etc/security/limits.conf

[root@kumu ~]# grep '^*' /etc/security/limits.conf

*       soft    nproc       10240

*       hard    nproc       10240

*       soft    nofile      10240

*       hard    nofile      10240

[root@kumu ~]#

 

 

退出当前用户,重新登录即可让之前修改的limits生效

[root@kumu ~]# ulimit -n

10240

[root@kumu ~]# ulimit -u        //发现nproc并没有像nofile一样而改变

1024

[root@kumu ~]#

 

经google搜索获知,RHEL6下引入了配置文件/etc/security/limits.d/90-nproc.conf

 

(参见了@杨德华Devin 文章redhat5和redhat6 root用户不同的ulimits

[root@kumu ~]# cat /etc/security/limits.d/90-nproc.conf

# Default limit for number of user'sprocesses to prevent

# accidental fork bombs.

# See rhbz #432903 for reasoning.

 

*         soft    nproc    1024

[root@kumu ~]#

 

我们修改这个文件尝试是否因为该文件影响,修改如下

[root@kumu ~]# vim /etc/security/limits.d/90-nproc.conf

[root@kumu ~]# cat /etc/security/limits.d/90-nproc.conf

# Default limit for number of user'sprocesses to prevent

# accidental fork bombs.

# See rhbz #432903 for reasoning.

 

#*         soft    nproc     1024

*         soft    nproc   65535

[root@kumu ~]#

 

退出当前用户,重新登录即可让之前修改的limits生效,执行如下命令发现修改成功

[root@kumu ~]# ulimit -u

10240

[root@kumu ~]# ulimit -n

10240

[root@kumu ~]#

 

由此可知,如果要修改配置文件limits.conf中的nproc限制上限是受文件/etc/security/limits.d/90-nproc.confnproc值大小制约的,但是shell终端下是不受制约的

 

另外笔者猜想,如果使用*号让全局用户生效是受文件/etc/security/limits.d/90-nproc.confnproc值大小制约的,而如果仅仅是针对某个用户,那么就不受该文件nproc值大小的影响

[root@kumu ~]# vim /etc/security/limits.d/90-nproc.conf   //恢复系统默认设置

[root@kumu ~]# cat /etc/security/limits.d/90-nproc.conf

# Default limit for number of user'sprocesses to prevent

# accidental fork bombs.

# See rhbz #432903 for reasoning.

 

*         soft    nproc    1024

#*         soft    nproc    65535

[root@kumu ~]# vim /etc/security/limits.conf      //只针对某个用户测试(这里使用root)

[root@kumu ~]# grep '^root' /etc/security/limits.conf

root        soft    nproc       10240

root        hard    nproc       10240

[root@kumu ~]#

 

退出当前用户,重新登录即可让之前修改的limits生效,执行如下命令发现修改成功

[root@kumu ~]# ulimit -u

10240

[root@kumu ~]# ulimit -n

10240

[root@kumu ~]#

 

笔者之前猜想正确,即只有当使用*号让全局用户生效的时候,生效的nproc的值大小是受文件/etc/security/limits.d/90-nproc.confnproc值大小制约的,而如果仅仅是针对某个用户,那么就不受该文件nproc值大小的影响。本文链接:关于RHEL6中ulimit的nproc限制

 

 

 

2017-06-10 19:11:33 weixin_33735676 阅读数 1

编辑/etc/security/limits.conf

添加:


* soft nofile 65535
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

转载于:https://blog.51cto.com/zl1030/1934113

没有更多推荐了,返回首页