日期:2014-05-16  浏览次数:20788 次

linux 修改ulimit 的参数
ulimit -a 显示当前用户的各种限制。

ulimit -n 的数值表示每个进程可以打开的文件数目。

一般情况下, ulimit -n 的数值是1024.

当进程打开的文件数目超过此限制时,该进程就会退出。

因此,有些时候我们需要修改此限制。

如果我们只是普通用户,只是暂时的修改ulimit -n,可以直接shell命令来修改(ulimit -n 1024000)。但是这个设置时暂时的保留!当我们退出bash后,该值恢复原值。

如果要永久修改ulimit,需要修改/etc/security/limits.conf。

    vim /etc/security/limits.conf
     # 添加如下的行


    * soft nofile 4100
    * hard nofile 4100



以下是说明:

* 代表针对所有用户

noproc 是代表最大进程数
nofile 是代表最大文件打开数

添加格式:

username|@groupname       type      resource       limit

username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。

type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比har 限制高。用 - 就表明同时设置了 soft 和 hard 的值。
resource:
core - 限制内核文件的大小(kb)
date - 最大数据大小(kb)
fsize - 最大文件大小(kb)
memlock - 最大锁定内存地址空间(kb)
nofile - 打开文件的最大数目
rss - 最大持久设置大小(kb)
stack - 最大栈大小(kb)
cpu - 以分钟为单位的最多 CPU 时间
noproc - 进程的最大数目
as - 地址空间限制
maxlogins - 此用户允许登录的最大数目