这个文件主要是用来限制用户对系统资源的使用。是/lib64/security/pam_limits.so模块对应的/etc/serurity/pam_limits的配置文件。
# /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: #每一行描述一个用户配置 ##Where: # 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 # # can have the two values: # - "soft" for enforcing the soft limits # - "hard" for enforcing hard limits 有soft,hard和-,soft指的是当前系统生效的设置值,软限制也可以理解为警告值。 hard表名系统中所能设定的最大值。soft的限制不能比hard限制高,用-表名同时设置了soft和hard的值。 # - can be one of the following:
- 可以使以下选项中的一个 # - 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 # #
# #* 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 * soft nofile 131072 * hard nofile 131072 * soft nproc 131072 * hard nproc 131072 * soft core unlimited * hard core unlimited * soft memlock 50000000 * hard memlock 50000000 ## abase create ##
################补充##############
一、使用数据库如mysql的时候遇到two many open files的error,此时便可以通过将运行mysqld的用户的 nofile(最大打开文件数)这个值改打,例如用户为A
A - nofile VALUE
注意上面的第二列 ‘-’表示hard和soft,可以显示的为soft和hard写两行
二、更改用户资源限制有不同方法
1、可以通过使用ulimit命令:立即生效,只对本次shell会话生效
2、编辑/etc/security/limits.conf:不立即生效,重新加载的方式来使限制生效,永久有效。
三、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 是一个特殊值,用于表示不限制
-a 显示当前所有的资源限制
-c size:设置core文件的最大值
-d size:设置数据段的最大值.
-f size:设置创建文件的最大值.
-l size:设置在内存中锁定进程的最大值
-m size:设置可以使用的常驻内存的最大值
-n size:设置内核可以同时打开的文件最大值
-p size:设置管道缓冲区的最大值
-s size:设置堆栈的最大值
-t size:设置CPU使用时间的最大上限
-v size:设置虚拟内存的最大值.单位
unlimited 是一个特殊值,用于表示不限制