目录
一、理论
1.ulimit命令
二、实验
1.打开的最大文件描述符的数量为65535
一、理论
1.ulimit命令
(1)概念
ulimit是一个计算机命令,用于shell启动进程所占用的资源,可用于修改系统资源限制,限制每个用户可使用的资源,如CPU、内存、句柄等。
(2)语法
ulimit [-SHacdefilmnpqrstuvx] [limit]
(3)常用选项
表1 ulimit常用选项
选项 | 功能 |
-H | 设置硬资源限制. |
-S | 设置软资源限制. |
-a | 显示当前所有的资源限制. |
-c size | 设置core文件的最大值.单位:blocks,默认0 |
-d size | 设置数据段的最大值.单位:kbytes,默认unlimited |
-e | 调度优先级,一般根据nice设置,默认0 |
-f size | 设置创建文件的最大值.单位:blocks,默认unlimited |
-i | 待定信号值,默认3766 |
-l size | 设置在内存中锁定进程的最大值.单位:kbytes,默认64 |
-m size | 设置可以使用的常驻内存的最大值.单位:kbytes,默认unlimited |
-n size | 设置内核可以同时打开的文件描述符的最大值,默认1024 |
-p size | 设置管道缓冲区的最大值.单位:kbytes,默认8 |
-q | 可以创建使用POSIX消息队列的最大值,单位为bytes,默认819200 |
-r | 限制程序实时优先级的范围,只针对普通用户,默认值0 |
-s size | 设置堆栈的最大值.单位:kbytes,默认8192 |
-t size | 设置CPU使用时间的最大上限.单位:seconds,默认unlimited |
-u <程序数目> | 用户最多可开启的程序数目,默认3766 |
-v siz | 设置虚拟内存的最大值.单位:kbytes,默认unlimited |
-x | 锁定文件大小限制,默认unlimited,默认unlimited |
(4)临时配置文件
直接用命令指定:例如 ulimit -n 2048
查询初始为1024
命令修改
查询已临时修改为2048
(5)永久配置文件
vim /etc/security/limits.conf
格式:
<domain> <type> <item> <value>
例如:
(6)limits.conf 配置文件关键字说明
表2 limits.conf 配置文件关键字
关键字 | 说明 |
domain | 是指生效实体 |
user | 用户名 |
@group | 指定用户组 |
* | 表示默认值 |
type | 指限制类型 |
soft | 软限制 |
hard | 硬限制 |
item | 限制资源 |
core | 同ulimit -c |
data | 同ulimit -d |
fsize | 同ulimit -f |
memloc | 同ulimit -l |
nofile | 同ulimit -n |
stack | 同ulimit -s |
cpu | 同ulimit -t |
nproc | 同ulimit -u |
maxlogins | 指定用户可以同时登陆的数量 |
maxsyslogins | 系统可以同时登陆的用户数 |
priority | 用户进程运行的优先级 |
locks | 用户可以锁定的文件最大值 |
sigpengding | 同ulimit -i |
msgqueue | 同ulimit -q |
二、实验
1.打开的最大文件描述符的数量为65535
(1)临时修改
ulimit -n 65535:打开的最大文件描述符的数量设置为65535。初始默认为1024
ulimit -a : 查询当前所有的资源限制.
(2)永久修改
vim /etc/security/limits.conf