目录html
/etc/security/limits.conf
文件实际是 Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so
的配置文件,并且只针对于单个会话。 该设置不会影响系统服务的资源限制。还要注意 /etc/security/limits.d/
的这个目录,shell
# /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中某些配置会被覆盖。最终取的值是 /etc/security/limits.d 下的配置文件的配置。 # #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 #@st
/etc/security/limits.d/
目录*-nproc.conf
文件,该文件是用于限制用户的线程限制。咱们也能够在该目录建立配置文件在 /etc/security/limits.d/
下,以 .conf 结尾。
centos 7centos
在CentOS 7版本中为/etc/security/limits.d/20-nproc.conf
,dom
# Default limit for number of user's processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning. * soft nproc 4096 # 全部的用户默承认以打开最大的进程数为 4096 root soft nproc unlimited # root 用户默承认以打开最大的进程数 无限制的。
CentOS 6socket
在CentOS 6版本中为/etc/security/limits.d/90-nproc.conf
ide
咱们不将全部的配置配置在/etc/security/limits.conf
而是将配置放在 /etc/security/limits.d/
下。
好比咱们将 nofile的配置放在 /etc/security/limits.d/20-nofile.conf
,nproc 的配置放在 /etc/security/limits.d/20-nproc.conf
.大数据
通常咱们须要配置的 /etc/security/limits.d/20-nofile.conf
为。this
root soft nofile 65535 root hard nofile 65535 * soft nofile 65535 * hard nofile 65535
/etc/security/limits.d/20-nproc.conf
设置为spa
* - nproc 65535 root soft nproc unlimited root hard nproc unlimited
示例一:
当 /etc/security/limits.conf
配置了:线程
root soft nofile 65538 root hard nofile 65538 * soft nofile 65539 * hard nofile 65539
这个root 用户的 默认取值是 65538 ,* 统配符虽然在 root 配置后面,可是 root 的配置只能被 root 进行覆盖。
咱们看下这个配置,当这样配置的时候
root soft nofile 65538 root hard nofile 65538 * soft nofile 65539 * hard nofile 65539 root soft nofile 65539
这个的 root 用户的取值仍是 65538 ,由于虽然 root soft nofile 65539
会覆盖咱们以前的配置,可是这个配置是不生效的。由于 root soft nofile 65539
配置的值大于root hard nofile 65538
, soft
配置的值不能大于 hard
.
示例二:
当咱们在 /etc/security/limits.conf
配置了:
root soft nofile 65538 root hard nofile 65538 * soft nofile 65539 * hard nofile 65539
而后咱们在 /etc/security/limits.d/20-nofile.conf
配置了:
root soft nofile 65536 root hard nofile 65536 * soft nofile 65540 * hard nofile 65540
最后的取值是会取 /etc/security/limits.d/20-nofile.conf
里面的值。
- 配置,只能被特定覆盖。
- /etc/security/limits.d/ 下文件的相同配置能够覆盖 /etc/security/limits.conf
具体详细配置根据应用状况进行配置。
设置能够打开文件的最大数为 65536
ulimit -SHn 65536
重启后失效。
配置到配置文件/etc/security/limits.conf
或者 /etc/security/limits.d/
中。
而后退出当前会话,从新登陆。 便可生效,重启配置也会保留。
后续补充。
-S use the `soft' resource limit # 设置软限制 -H use the `hard' resource limit # 设置硬限制 -a all current limits are reported# 显示全部的配置。 -b the socket buffer size # 设置socket buffer 的最大值。 -c the maximum size of core files created # 设置core文件的最大值. -d the maximum size of a process's data segment # 设置线程数据段的最大值 -e the maximum scheduling priority (`nice') # 设置最大调度优先级 -f the maximum size of files written by the shell and its children # 建立文件的最大值。 -i the maximum number of pending signals # 设置最大的等待信号 -l the maximum size a process may lock into memory #设置在内存中锁定进程的最大值 -m the maximum resident set size -n the maximum number of open file descriptors # 设置最大能够的打开文件描述符。 -p the pipe buffer size -q the maximum number of bytes in POSIX message queues -r the maximum real-time scheduling priority -s the maximum stack size -t the maximum amount of cpu time in seconds -u the maximum number of user processes # 设置用户能够建立的最大进程数。 -v the size of virtual memory # 设置虚拟内存的最大值 -x the maximum number of file locks
查看全部的配置
ulimit -a
查看配置的最大打开文件数
ulimit -n
更改配置
ulimit -SHn 65536