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 /