ulimit

ulimit
ulimit 是一个计算机命令,用于shell启动进程所占用的资源,参数形式有-H设置硬资源限制;-S 设置软资源限制;-a 显示当前所有的资源限制等。

语法格式:

ulimit [-acdfHlmnpsStvw] [size]

-H 设置硬资源限制.
-S 设置软资源限制.
-a 显示当前所有的资源限制.
-c size:设置core文件的最大值.单位:blocks
-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 <程序数目>  用户最多可开启的程序数目

-n 和 -u 可以查看linux的最大进程数和每个进程最大打开文件数。

设置大小(当前登陆终端有效)

ulimit -n 10240
ulimit -u 10240

修改/etc/security/limits.conf 文件进行设置

# vim /etc/security/limits.conf

* soft nofile 204800 * hard nofile 204800 * soft nproc 204800 * hard nproc 204800
* 代表针对所有用户
soft 是表示阈值 (如可以 soft 1024, hard 10240 超过1024 系统会告警信息 )
hard 是标识最大值 noproc 是代表最大进程数 nofile 是代表最大文件打开数
soft nproc 单个用户可用的最大进程数量(超过会警告)
hard nproc 单个用户可用的最大进程数量(超过会报错)
soft nofile  可打开的文件描述符的最大数(超过会警告)
hard nofile 可打开的文件描述符的最大数(超过会报错)
# 不配置系统默认1024 ,配置重启生效。
实际/etc/security/limits.d/里面配置会覆盖 /etc/security/limits.conf的配置

有时配置最大打开数未生效 需要更改两个配置;

1、/etc/security/limits.d/90-nproc.conf 文件尾添加

* soft nproc 204800
* hard nproc 204800

2、/etc/security/limits.d/def.conf 文件尾添加

* soft nofile 204800
* hard nofile 204800

这两个文件的设置将会覆盖前面的设置。重启后生效。

设置成无限制(unlimited)的一些重要设置是:

数据段长度:ulimit -d unlimited
最大内存大小:ulimit -m unlimited
堆栈大小:ulimit -s unlimited
CPU 时间:ulimit -t unlimited
虚拟内存:ulimit -v unlimited

 

posted @ 2018-10-30 11:37  01234567  阅读(308)  评论(0编辑  收藏  举报