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简介的主要内容,如果未能解决你的问题,请参考以下文章