ulimit命令
参考:https://www.cnblogs.com/klausage/p/15039641.html
https://blog.csdn.net/carefree2005/article/details/117993170
https://baijiahao.baidu.com/s?id=1717130559541641811&wfr=spider&for=pc
https://dude6.com/article/201827.html
1、ulimit命令
ulimit为shell内建指令,可用来控制shell执行程序的资源
参数
-H 硬限制,超过限值时会异常
-S 软限制,超过限值时仅告警
-a 列出目前所有资源限制
-c <core文件上限> 设定core文件的最大值,单位为区块
-d <数据节区大小> 程序数据节区的最大值,单位为KB
-f <文件大小> shell所能建立的最大文件,单位为区块
-H 设定资源的硬性限制,也就是管理员所设下的限制
-m <内存大小> 指定可使用内存的上限,单位为KB
-n <文件数目> 指定同一时间最多可开启的文件数
-p <缓冲区大小> 指定管道缓冲区的大小,单位512字节
-s <堆叠大小> 指定堆叠的上限,单位为KB
-S 设定资源的弹性限制
-t <CPU时间> 指定CPU使用时间的上限,单位为秒
-u <程序数目> 用户最多可开启的程序数目
-v <虚拟内存大小> 指定可使用的虚拟内存上限,单位为KB
2、临时设置ulimit
在终端中执行:ulimit [-SHcdefilmnpqrstuvx] [limit]
在查看的命令后面加上限制值,就可以调整某一项限制,但只对当前登录shell有效。
参数S表示设置软限制;参数H表示设置硬限制;当都不指定时,表示设置软限制和硬限制均为指定值。
3、永久修改ulimit
步骤一:修改/etc/security/limits.conf
步骤二:修改/etc/pam.d/login
添加session required pam_limits.so
步骤三:修改/etc/profile
添加 ulimit -u 64000
ulimit -n 64000
步骤三用户重新登录或者source /etc/profile后生效,步骤一、二重启生效
4、/etc/security/limits.conf配置说明:
domain 是指生效实体
用户名
也可以通过@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