ulimit命令用于修改当前shell启动进程所占用的资源限制。
注意:修改仅在当前shell生效。
ulimit 命令格式如下:
ulimit [-acdfHlmnpsStvw] [size]
参数可以为:
-H 设置硬件资源限制.
-S 设置软件资源限制.
-a 显示当前所有的资源限制.
-c size:设置core文件的最大值.单位:blocks(1block=512bytes)
-d size:设置数据段的最大值.单位:kbytes
-f size:设置创建文件的最大值.单位:blocks
-l size:设置在内存中锁定进程的最大值.单位:kbytes
-m size:设置可以使用的常驻内存的最大值.单位:kbytes
-n size:设置内核可以同时打开的文件描述符的最大值.单位:n
-p size:设置管道缓冲区的最大值.单位:kbytes
-s size:设置堆栈的最大值.单位:kbytes
-t size:设置CPU使用时间的最大上限.单位:seconds
-v size:设置虚拟内存的最大值.单位:kbytes
-u <程序数目> 用户最多可开启的程序数目
你还可以修改系统的默认限制:修改/etc/security/limits.conf配置文件。
这个配置文件里有比较详细的注释,基本上上面的每一项都可以修改。
注意:修改完配置文件需要重启系统才能生效。
举几个例子
修改linux下可以创建的最大文件大小可以在配置文件中增加一行:
* hard fsize 1000000
修改linux下生成core文件大小无限制可以在配置文件中增加一行:
* soft core unlimited
修改linux下可以打开的最大文件数量可以在配置文件中增加一行:
* hard nofile 2048