ulimit主要用于限制进程对资源的使用,并支持各种类型的限制。 常见的有:
内核文件大小限制
过程数据块大小限制
shell流程创建文件大小限制
可锁定的内存大小限制
常驻内存集大小限制
打开文件的字数限制
分配堆栈的最大大小限制
CPU占用时间限制用户最大kldsg的进程数限制
外壳进程可以使用的虚拟内存的最大限制
ulimit使用的基本格式如下。
ulimit [options] [limit]
具体的ulimit参数的含义如下表所示:
参数的含义
-a显示当前系统的所有limit资源信息
-H设置硬件资源限制。 一旦设定就不能增加
-S设置软资源限制。 设置后可以增加,但不能超过硬资源设置
-c最大酷睿文件大小,以块为单位
-f进程可以创建的最大文件数。 块单位
-d进程的最大段大小。 Kbytes单位
-m最大内存大小,以Kbytes为单位
-n可以打开的文件描述符的最大数目
-s线程堆栈大小,以Kbytes为单位
-p管道缓冲区大小,以Kbytes为单位
-u用户最多kldsg的进程数
-v进程中最适合kldsg的虚拟内存,以Kbytes为单位
-t最大CPU占用时间,以s为单位
-l最大kldsg锁内存大小,以Kbytes为单位
使用ulimit时,有以下使用方法。
1 )添加到用户环境变量中
如果用户使用的是bash,则可以将’ ulimit -u 128 ‘添加到用户目录的环境变量文件. bash_profile中,以限制最多128个用户可用的进程。
2 )添加到APP应用程序的启动脚本
如果APP应用程序是tomcat,则可以将’ ulimit -n 65536 ‘添加到tomcat启动脚本startup.sh以限制用户最多可以使用65536个文件描述符。
3 )在shell终端上直接执行ulimit命令
此方法的资源限制仅在运行命令的终端上有效,在退出或关闭终端后,设置将变为无效,并且此设置不会影响其他shell终端。
也可以在名为/etc/security/limits.conf的文件中批量配置用户资源限制。 此文件不仅限制指定用户的资源
可以限制指定组的资源。 此文件的使用规则如下:
其中:
domain表示用户或用户组的名称,还可以使用“*”作为通配符表示任何用户或用户组。
type指示限制的类型,并且两个值:soft和hard可以分别指示软、硬资源限制。
item表示需要限定的资源名称,常用的有nofile、cpu、stack等。 分别表示最大开放文件数、占用CPU时间、最大堆栈大小。
value表示限制各种资源的具体数值。
来自“ITPUB博客”,链接: http://blog.itpub.net/15498/view space-2120616 /
极速赛车五码一期全天计划数据536 ‘添加到tomcat启动脚本startup.sh以限制用户最多可以使用65536个文件描述符。
3 )在shell终端上直接执行ulimit命令
此方法的资源限制仅在运行命令的终端上有效,在退出或关闭终端后,设置将变为无效,并且此设置不会影响其他shell终端。
也可以在名为/etc/security/limits.conf的文件中批量配置用户资源限制。 此文件不仅限制指定用户的资源
可以限制指定组的资源。 此文件的使用规则如下:
其中:
domain表示用户或用户组的名称,还可以使用“*”作为通配符表示任何用户或用户组。
type指示限制的类型,并且两个值:soft和hard可以分别指示软、硬资源限制。
item表示需要限定的资源名称,常用的有nofile、cpu、stack等。 分别表示最大开放文件数、占用CPU时间、最大堆栈大小。
value表示限制各种资源的具体数值。
来自“ITPUB博客”,链接: http://blog.itpub.net/15498/view space-2120616 /