首页 > 代码库 > limits.conf 文件打开数配置及生效

limits.conf 文件打开数配置及生效

Linux系统默认允许用户打开的文件数是1024,对于很多用户/程序来说,这个值是不够用的,怎么扩大呢?

直接ulimit -n 65535   !

但此方法只能本次登陆窗口有效,退出窗口即失效,且,有可能报您没有权限,囧~

 

一劳永逸的方法是(需要你有root权限):修改/etc/security/limits.conf  !

 

在文件末尾添加:

* soft nofile 65534 * hard nofile 65534

退出窗口,重新登陆,执行ulimit -n 看看是否已经改过来了?

 

# 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) 96002 max locked memory     (kbytes, -l) 64 max memory size         (kbytes, -m) unlimited open files                      (-n) 65534 pipe size                        (512 bytes, -p) 8 POSIX message queues     (bytes, -q) 819200 real-time priority               (-r) 0 stack size                      (kbytes, -s) 8192 cpu time                       (seconds, -t) unlimited max user processes      (-u) 96002 virtual memory             (kbytes, -v) unlimited file locks                        (-x) unlimited

 

 

如果你的未生效,没有关系,继续下面的步骤:

有的Linux操作系统,如(Ubuntu)不允许配置 * ,你需要配置为需要放大权限的用户,如root:

root soft nofile 65534 root hard nofile 65534

再试一下,是不是OK了?

 

 

 

limits.conf 配置说明: <domain>   <type>  <resource>   <value>

domain:    username|@groupname:设置需要被限制的用户名,组名前面加@ 与 用户名 区别。   * 表示所有用户(注意有的系统不支持哦)。

type:    soft 指的是当前系统生效的设置值    hard 表明系统中所能设定的最大值    soft 的限制不能比har 限制高    - 就表明同时设置了 soft 和 hard 的值。

resource:    as     - 地址空间限制    rss    - 最大持久设置大小    cpu    - 以分钟为单位的最多 CPU 时间    core   - 限制内核文件的大小    date   - 最大数据大小    stack  - 最大栈大小    fsize  - 最大文件大小    noproc - 进程的最大数目    nofile - 打开文件的最大数目    memlock- 最大锁定内存地址空间    maxlogins - 此用户允许登录的最大数目

value:   限制的值

 

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

limits.conf 文件打开数配置及生效