Linux系统:ulimit命令

ulimit是一个用于设置shell启动进程资源限制的命令,包括CPU时间、内存使用、文件描述符数量等。可以通过选项如-H(硬限制)、-S(软限制)进行设置。在实验中,展示了如何临时将最大文件描述符数量提高到65535,并在limits.conf中进行永久配置以改变默认限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、理论

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值