1.用法:
ulimit [-acdfHlmnpsStvw] [size]
2.说明
ulimit用于shell启动进程所占用的资源.
3.参数说明
-a 显示当前所有的资源限制
-c size 设置core文件的最大值,单位 kbytes
-d size 设置数据段的最大值.单位:kbytes
-f size 设置创建文件的最大值.单位:blocks
-l size 设置在内存中锁定进程的最大值.单位:kbytes
-m size 设置可以使用的常驻内存的最大值.单位:kbytes
-n size 设置内核可以同时打开的文件描述符的最大值,单位:个
-s size 设置堆栈的最大值.单位:kbytes
-p size 设置管道缓冲区的最大值.单位:kbytes
-t size 设置CPU使用时间的最大上限.单位:seconds
-u size 用户最多可开启的程序数目(进程数上限)
-v size 设置虚拟内存的最大值.单位:kbytes
注: size为unlimited表示为无限制
-H 设置硬件资源限制
注:硬限制是实际的限制,而软限制,是warnning限制,只会做出wanning。如果没有指定时,则是两个一起修改
4. 输出说明
5.例子
<1> 设置了对软件资源和对core文件大小的设置
# grep ulimit /etc/profile => 这句是查看/etc/profile文件中ulimit的信息
ulimit -S -c 0 > /dev/null 2>&1
<2> 对由shell创建的文件大小作些限制,如:
# ll myfile
-rw-r--r-- 1 lee lee 150062 7月 22 02:39 myfile
#ulimit -f 100 => 设置创建文件的最大块(一块=512字节)
#cat myfile > newfile
#ll newfile
-rw-r--r-- 1 lee lee 51200 11月 8 11:47 newfile
文件myfile的大小是150062字节,而我们设定的创建文件的大小是512字节x100块=51200字节, 当然系统就会根据你的设置生成了51200字节的newfile文件.
<3> 可以像实例1]一样,把你要设置的ulimit放在/etc/profile这个环境文件中
<4>命令方式修改的值,适用于调用ulimit的登录shell会话期间
<5>永久修改资源限制信息的方法
1] 修改 /etc/security/limits.conf, 添加如下行
* soft noproc 11000
* hard noproc 11000
* soft nofile 4100
* hard nofile 4100
注: *表示所有用户 noproc表示最大进程数 nofile代表最大文件数
2] 让SSH接受Login程式的登入,方便在ssh客户端查看ulimit -a资源限制
vi /etc/ssh/sshd_config
把UserLogin的值改为yes,并去除注释
3] 修改所有linux用户的环境变量文件 /etc/profile
# vi /etc/profile
ulimit -u 10000