ulimit命令
Posted 顧棟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ulimit命令相关的知识,希望对你有一定的参考价值。
ulimit
Linux对于每个用户,系统限制其最大进程数。为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程数。
ulimit:显示(或设置)用户可以使用的资源的限制(limit),这限制分为软限制(当前限制)和硬限制(上限),其中硬限制是软限制的上限值,应用程序在运行过程中使用的系统资源不超过相应的软限制,任何的超越都导致进程的终止。
查看ulimit
ulimit [-SHacdefilmnpqrstuvx]
参数S:表示软限制,当超过限制值会报警
参数H:表示硬限制,必定不能超过限制值
参数a:将列出所有资源限制
参数c:当某些程序发生错误时,系统可能会将该程序在内存中的信息写成文件(除错用),这种文件就被称为核心文件(core file)。此为限制每个核心文件的最大容量
参数d:每个进程数据段的最大值
参数f:当前shell可创建的最大文件容量
参数l:可以锁定的物理内存的最大值
参数m:可以使用的常驻内存的最大值
参数n:每个进程可以同时打开的最大文件句柄数
参数p:管道的最大值
参数s:堆栈的最大值
参数t:每个进程可以使用CPU的最大时间
参数u:每个用户运行的最大进程并发数
参数v:当前shell可使用的最大虚拟内存
修改ulimit
ulimit [-SHcdefilmnpqrstuvx] [limit]
在查看的命令后面加上限制值,就可以调整某一项限制,但只对当前登录shell有效。
参数S表示设置软限制;参数H表示设置硬限制;当都不指定时,表示设置软限制和硬限制均为指定值。
永久修改ulimit
所谓永久,是指每次登陆shell时,都会按配置重新设定ulimit,以达到永久生效的效果。
步骤一:
修改/etc/security/limits.conf
添加如下内容:
关于该文件的配置方式请参考后文
[root@CentOS646506 ~]# vim /etc/security/limits.conf
* hard nproc 64000
* soft nproc 64000
* hard nofile 64000
* soft nofile 64000
以上内容表示,将-u和-n的软限制和硬限制同时修改为64000。
步骤二:
修改/etc/pam.d/login
添加如下内容:
[root@CentOS646506 ~]# vim /etc/pam.d/login
session required pam_limits.so
以上内容表示,在登录时使用pam管理limit。
步骤三:
修改/etc/profile
添加如下内容
[root@CentOS646506 ~]# vim /etc/profile
ulimit -u 64000
ulimit -n 64000
每次登陆shell后,会初始执行这两条ulimit命令,并使其生效。
使配置生效
重新登录或使用source /etc/profile立即生效。
source使当前shell对指定文件内容生效。
/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
以上是关于ulimit命令的主要内容,如果未能解决你的问题,请参考以下文章