ulimit命令详解

ulimit命令详解

ulimit用来限制每个用户可使用的资源,如CPU、内存、句柄等。

命令格式:

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@localhost ~]# vi /etc/security/limits.conf

  • hard nproc 65535
  • soft nproc 65535
  • hard nofile 65535
  • soft nofile 65535
    以上内容表示,将-u和-n的软限制和硬限制同时修改为65535。
    在这里插入图片描述
    /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
步骤二:修改/etc/pam.d/login

添加如下内容:

[root@localhost ~]# vi /etc/pam.d/login
session required pam_limits.so
以上内容表示,在登录时使用pam管理limit。

步骤三:修改/etc/profile

添加如下内容

[root@localhost ~]# vi /etc/profile
ulimit -u 65535
ulimit -n 65535
在这里插入图片描述
每次登陆shell后,会初始执行这两条ulimit命令,并使其生效。

使配置生效

重新登录或使用source /etc/profile立即生效。

source使当前shell对指定文件内容生效。

查看是否生效
cat /etc/security/limits.conf | grep "nofile"
cat /etc/pam.d/login | grep "pam_limits.so"
cat /etc/profile | grep "ulimit"
ulimit -u
ulimit -n

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值