CentOS 6.5为例 ulimit命令详解

摘要: ulimit用来限制每个用户可使用的资源,如CPU、内存、句柄等。下面以CentOS 6.5为例进行总结。

ulimit用来限制每个用户可使用的资源,如CPU、内存、句柄等。下面以CentOS 6.5为例进行总结。

1 查看ulimit

命令格式:

ulimit [-SHacdefilmnpqrstuvx]
  • 参数S :表示软限制,当超过限制值会报警
  • 参数H:表示硬限制,必定不能超过限制值
  • 参数a :将列出所有资源限制,如:

CentOS 6.5为例 ulimit命令详解

  • 参数c :当某些程序发生错误时,系统可能会将该程序在内存中的信息写成文件(除错用),这种文件就被称为核心文件(core file)。此为限制每个核心文件的最大容量
  • 参数d :每个进程数据段的最大值
  • 参数f :当前shell可创建的最大文件容量
  • 参数l :可以锁定的物理内存的最大值
  • 参数m :可以使用的常驻内存的最大值
  • 参数n :每个进程可以同时打开的最大文件句柄数
  • 参数p :管道的最大值
  • 参数s :堆栈的最大值
  • 参数t :每个进程可以使用CPU的最大时间
  • 参数u :每个用户运行的最大进程并发数
  • 参数v :当前shell可使用的最大虚拟内存
2 修改ulimit

命令格式:

ulimit [-SHcdefilmnpqrstuvx] [limit]

在查看的命令后面加上限制值,就可以调整某一项限制,但只对当前登录shell有效。

参数S表示设置软限制;参数H表示设置硬限制;当都不指定时,表示设置软限制和硬限制均为指定值。

3 永久修改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对指定文件内容生效。

3.1 /etc/security/limits.conf配置详解

格式:

<domain> <type> <item> <value>
  • 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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/116860.html

(0)
上一篇 2021年8月28日
下一篇 2021年8月28日

相关推荐

发表回复

登录后才能评论