ulimit主要用来限制进程对资源的使用情况,它支持各种类型的限制,常用的有:
内核文件的大小限制
进程数据块的大小限制
shell进程创建文件大小限制
可加锁内存大小限制
常驻内存集的大小限制
打开文件句柄数限制
分配堆栈的最大大小限制
CPU占用时间限制用户最大可用的进程数限制
shell进程所能使用的最大虚拟内存限制
ulimit使用的基本格式为:
ulimit [options] [limit]
具体的ulimit参数含义如下表所示:
参数 含义
-a 显示当前系统所有的limit资源信息
-H 设置硬资源限制,一旦设置不能增加
-S 设置软资源限制,设置后可以增加,但是不能超过硬资源设置
-c 最大的core文件大小,以blocks为单位
-f 进程可以创建文件的最大值,以blocks为单位
-d 进程最大的数据段的大小,以Kbytes为单位
-m 最大内存大小,以Kbytes为单位
-n 可以打开的最大文件描述符的数量
-s 线程栈大小,以Kbytes为单位
-p 管道缓冲区的大小,以Kbytes为单位
-u 用户最大可用的进程数
-v 进程最大可用的虚拟内存,以Kbytes为单位
-t 最大CPU占用时间,以s为单位
-l 最大可加锁内存大小,以Kbytes为单位
在使用ulimit时,有以下几种使用方法:
1). 在用户环境变量中加入
如果用户使用的是bash,那么可以在用户目录的环境变量文件.bash_profile里加入"ulimit -u 128"来限制用户最多可使用128个进程。
2). 在应用程序的启动脚本中加入
如果应用程序是tomcat,那么可以在tomcat的启动脚本startup.sh里加入"ulimit -n 65536"来限制用户最多可以使用65536个文件描述符。
3).直接在shell终端中执行ulimit命令
这种方法的资源限制仅仅在执行命令的终端生效,在退出或关闭终端后,设置失效,并且这个设置不影响其他shell终端。
也可以将用户资源的限制统一由一个文件来配置,这个文件是/etc/security/limits.conf,该文件不但能对指定用户的资源进行限制,还
能对指定组的资源进行限制。该文件的使用规则如下:
<domain> <type> <item> <value>
其中:
domain表示用户或用户组的名字,还可以用"*"作为通配符,表示任何用户或用户组。
type表示限制的类型,可以用两个值:soft和hard,分别表示软、硬资源限制。
item表示需要限定的资源名称,常用的有nofile、cpu、stack等。分别表示最大打开句柄数、占用的CPU时间、最大的堆栈大小。
value表示限制各种资源的具体数值。
内核文件的大小限制
进程数据块的大小限制
shell进程创建文件大小限制
可加锁内存大小限制
常驻内存集的大小限制
打开文件句柄数限制
分配堆栈的最大大小限制
CPU占用时间限制用户最大可用的进程数限制
shell进程所能使用的最大虚拟内存限制
ulimit使用的基本格式为:
ulimit [options] [limit]
具体的ulimit参数含义如下表所示:
参数 含义
-a 显示当前系统所有的limit资源信息
-H 设置硬资源限制,一旦设置不能增加
-S 设置软资源限制,设置后可以增加,但是不能超过硬资源设置
-c 最大的core文件大小,以blocks为单位
-f 进程可以创建文件的最大值,以blocks为单位
-d 进程最大的数据段的大小,以Kbytes为单位
-m 最大内存大小,以Kbytes为单位
-n 可以打开的最大文件描述符的数量
-s 线程栈大小,以Kbytes为单位
-p 管道缓冲区的大小,以Kbytes为单位
-u 用户最大可用的进程数
-v 进程最大可用的虚拟内存,以Kbytes为单位
-t 最大CPU占用时间,以s为单位
-l 最大可加锁内存大小,以Kbytes为单位
在使用ulimit时,有以下几种使用方法:
1). 在用户环境变量中加入
如果用户使用的是bash,那么可以在用户目录的环境变量文件.bash_profile里加入"ulimit -u 128"来限制用户最多可使用128个进程。
2). 在应用程序的启动脚本中加入
如果应用程序是tomcat,那么可以在tomcat的启动脚本startup.sh里加入"ulimit -n 65536"来限制用户最多可以使用65536个文件描述符。
3).直接在shell终端中执行ulimit命令
这种方法的资源限制仅仅在执行命令的终端生效,在退出或关闭终端后,设置失效,并且这个设置不影响其他shell终端。
也可以将用户资源的限制统一由一个文件来配置,这个文件是/etc/security/limits.conf,该文件不但能对指定用户的资源进行限制,还
能对指定组的资源进行限制。该文件的使用规则如下:
<domain> <type> <item> <value>
其中:
domain表示用户或用户组的名字,还可以用"*"作为通配符,表示任何用户或用户组。
type表示限制的类型,可以用两个值:soft和hard,分别表示软、硬资源限制。
item表示需要限定的资源名称,常用的有nofile、cpu、stack等。分别表示最大打开句柄数、占用的CPU时间、最大的堆栈大小。
value表示限制各种资源的具体数值。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15498/viewspace-2120616/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15498/viewspace-2120616/