Linux杂谈:ulimit简介

Posted Stoneshen1211

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux杂谈:ulimit简介相关的知识,希望对你有一定的参考价值。

文章目录

ulimit指令可以用来查看以及设置单个用户可以使用的系统资源大小。

1 使用方法

ulimit: usage: ulimit [-SHabcdefilmnpqrstuvxT] [limit]

[-SHabcdefilmnpqrstuvxT] 表示后面跟的第一个参数值
[limit] 如果没有此值,则是查看;如果此值为数字或unlimited表示限制值

PS:如果修改,也可以通过或者将其写到 /etc/security/limits.conf中进行修改,具体格式在该配置文件中有说明

PPS:通过limit进行修改只对当前的session有效,如果关闭当前session或者重启设备,则会恢复到默认值

2.参数

2.1 -S

软资源限制

2.2 -H

硬资源限制

硬资源限制代表了物理限制,即物理上最大能达到的值;软资源可以由用户管理,进行限制,但是最大值不能超过硬限制。

比如我们查看文件描述符的大小:
可以使用ulimit -Hn 查看硬限制、也可以使用 ulimit -Sn查看软限制、也可以使用ulimit -n 查看。

软资源限制不能超过硬资源限制,否则会设置失败,如下:

# ulimit -Hn 1027                                            
# ulimit -Sn 1028                                            
/bin/sh: ulimit: bad file(blocks) limit: Invalid argument

一般情况下,我们查看某项资源的限制,比如文件描述符的大小,使用ulimit -n即可,设置也直接使用ulimit -n 1028,表示同时设置硬资源和软资源。

2.3 -a

显示当前所有的limit信息。

2.4 -c

可生成的最大core文件的大小。

2.5 -d

数据段的最大值

2.6 -e

进程调度的优先级

2.7 -f

创建文件的大小最大值

2.8 -i

信号可以被挂起的最大数

2.9 -l

可加锁内存大小最大值
加锁内存是指将一个内存段锁入系统的物理内存,减少延迟,阻止分页和交换。

2.10 -m

最大内存大小

2.11 -n

可以打开最大文件描述符的数目

2.12 -p

管道缓冲区的大小

2.13 -q

可以创建使用POSIX消息队列的最大值
我们以前使用的msgget msgsnd是System V消息队列,POSIX消息队列是在System V消息队列之后设计的,关于他们之间的区别,参考:
system-v-ipc-vs-posix-ipc

2.14 -r

限制实时优先级的范围

2.15 -s

最大堆栈的大小

2.16 -t

最大的CPU占用时间

2.17 -u

用户最大可用进程数

2.18 -v

进程最大可用的虚拟内存

2.19 -x

文件锁

以上是关于Linux杂谈:ulimit简介的主要内容,如果未能解决你的问题,请参考以下文章

Linux杂谈:ulimit简介

linux ulimit 调优

修改ulimit参数

Linux修改open files数及ulimit和file-max的区别

内核参数:ulimit详解

嵌入式软件开发杂谈:Linux下最大能创建多少线程?