• 1. /etc/security/limits.conf

    这个文件主要是用来限制用户对系统资源的使用。是 /lib64/security/pam_limits.so 模块对应的 /etc/serurity/pam_limits 的配置文件。

    更改用户资源限制有不同方法 1、可以通过使用ulimit命令:立即生效,只对本次shell会话生效 2、编辑/etc/security/limits.conf:不立即生效,重新加载的方式来使限制生效,永久有效。

    • /etc/security/limits.conf
    • /etc/security/limits.d/
    # /etc/security/limits.conf
    #
    #This file sets the resource limits for the users logged in via PAM.
    该文件为通过 PAM 登录的用户设置资源限制。
    
    #It does not affect resource limits of the system services.
    #它不影响系统服务的资源限制。
    
    #Also note that configuration files in /etc/security/limits.d directory,
    #which are read in alphabetical order, override the settings in this
    #file in case the domain is the same or more specific.
    请注意 /etc/security/limits.d 下按照字母顺序排列的配置文件会覆盖 /etc/security/limits.conf中的
    domain相同的的配置
    
    #That means for example that setting a limit for wildcard domain here
    #can be overriden with a wildcard setting in a config file in the
    #subdirectory, but a user specific setting here can be overriden only
    #with a user specific setting in the subdirectory.
    这意味着,例如使用通配符的domain会被子目录中相同的通配符配置所覆盖,但是某一用户的特定配置
    只能被字母路中用户的配置所覆盖。其实就是某一用户A如果在/etc/security/limits.conf有配置,当
    /etc/security/limits.d子目录下配置文件也有用户A的配置时,那么A中某些配置会被覆盖。
    
    #
    #Each line describes a limit for a user in the form:
    #每一行描述一个用户配置
    #<domain> <type> <item> <value>
    
    #Where:
    
    #<domain> can be:
    # - a user name    一个用户名
    # - a group name, with @group syntax    用户组格式为@GROUP_NAME
    # - the wildcard *, for default entry    默认配置为*,代表所有用户
    # - the wildcard %, can be also used with %group syntax,
    # for maxlogin limit 
    #
    
    #<type> can have the two values:
    # - "soft" for enforcing the soft limits 
    # - "hard" for enforcing hard limits
    # 有soft,hard和 -,
    # soft指的是当前系统生效的设置值,软限制也可以理解为警告值。
    # hard表名系统中所能设定的最大值。soft的限制不能比hard限制高,
    # 用-表名同时设置了soft和hard的值。
    
    #<item> can be one of the following:    <item>可以使以下选项中的一个
    # - core - limits the core file size (KB)    限制内核文件的大小。
    # - data - max data size (KB)                最大数据大小
    # - fsize - maximum filesize (KB)            最大文件大小
    # - memlock - max locked-in-memory address space (KB)    最大锁定内存地址空间
    # - nofile - max number of open file descriptors         最大打开的文件数(以文件描叙符,file descripter计数) 
    # - rss - max resident set size (KB) 最大持久设置大小
    # - stack - max stack size (KB)      最大栈大小
    # - cpu - max CPU time (MIN)         最多CPU占用时间,单位为MIN分钟
    # - nproc - max number of processes  进程的最大数目
    # - as - address space limit (KB)    地址空间限制 
    # - maxlogins - max number of logins for this user        此用户允许登录的最大数目
    # - maxsyslogins - max number of logins on the system     系统最大同时在线用户数
    # - priority - the priority to run user process with      运行用户进程的优先级
    # - locks - max number of file locks the user can hold    用户可以持有的文件锁的最大数量
    # - sigpending - max number of pending signals
    # - msgqueue - max memory used by POSIX message queues (bytes)
    # - nice - max nice priority allowed to raise to values: [-20, 19] max nice优先级允许提升到值
    # - rtprio - max realtime pr iority
    #
    #<domain> <type> <item> <value>
    #
    
    #* soft core 0
    #* hard rss 10000
    #@student hard nproc 20
    #@faculty soft nproc 20
    #@faculty hard nproc 50
    #ftp hard nproc 0
    #@student - maxlogins 4
    # End of file

    1.1. ulimit命令

    ulimit [-SHacdefilmnpqrstuvx] [limit]

    -S 设置软件资源限制 -H 设置硬件资源限制 -a 显示当前所有的资源限制 -c size:设置core文件的最大值 -d size:设置数据段的最大值. -f size:设置创建文件的最大值. -l size:设置在内存中锁定进程的最大值 -m size:设置可以使用的常驻内存的最大值 -n size:设置内核可以同时打开的文件最大值 -p size:设置管道缓冲区的最大值 -s size:设置堆栈的最大值 -t size:设置CPU使用时间的最大上限 -v size:设置虚拟内存的最大值.单位 unlimited 是一个特殊值,用于表示不限制

    1.2. 常见问题

    1.2.1. too many open files

    使用数据库如mysql的时候遇到 too many open files 的error,此时便可以通过将运行mysqld的用户的 nofile(最大打开文件数)这个值改打,例如用户为A

    1.3. 示例

    * soft nofile 131072
    * hard nofile 131072
    * soft nproc 131072
    * hard nproc 131072
    * soft core unlimited
    * hard core unlimited
    * soft memlock 50000000
    * hard memlock 50000000
    Copyright © 温玉 2021 | 浙ICP备2020032454号 all right reserved,powered by Gitbook该文件修订时间: 2023-06-19 08:59:50

    results matching ""

      No results matching ""