/etc/security/limits.conf的相关说明

通过ulimit -n命令可以查看Linux系统里打开文件描述符的最大值,一般缺省值是1024,对一台繁忙的服务器来说,这个值偏小,所以有必要重新设置linux系统里打开文件描述符的最大值。那么应该在哪里设置呢?

最正确的做法是在/etc/security/limits.conf里设置:

[[email protected] security]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 30518
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
[[email protected] security]# ulimit -n 10240
[[email protected] security]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 30518
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 10240
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
[[email protected] security]1. 命令用法

命   令:ulimit 功   能:控制shell程序的资源 语  法:ulimit [-aHS][-c <core文件上限>][-d <数据节区大小>][-f <文件大 小>][-m <内存大小>][-n <文件数目>][-p <缓冲区大小>][-s <堆栈大小>][-t <CPU时间>][-u <程序数目>][-v <虚拟内存大小>]      补充说明:ulimit为shell内建指令,可用来控制shell执行程序的资源。      参  数:      -a  显示目前资源限制的设定。       -c <core文件上限>  设定core文件的最大值,单位为区块。       -d <数据节区大小>  程序数据节区的最大值,单位为KB。       -f <文件大小>  shell所能建立的最大文件,单位为区块。       -H  设定资源的硬性限制,也就是管理员所设下的限制。       -m <内存大小>  指定可使用内存的上限,单位为KB。       -n <文件数目>  指定同一时间最多可打开的文件数。       -p <缓冲区大小>  指定管道缓冲区的大小,单位512字节。       -s <堆栈大小>  指定堆叠的上限,单位为KB。       -S  设定资源的弹性限制。       -t <CPU时间>  指定CPU使用时间的上限,单位为秒。       -u <进程数目>  用户最多可启动的进程数目。      -v <虚拟内存大小>  指定可使用的虚拟内存上限,单位为KB。 2. 系统调优

如前所述, ulimit -a 用来显示当前的各种用户进程限制。      Linux对于每个用户,系统限制其最大进程数。为提高性能,可以根据设备资源情况,     设置各linux 用户的最大进程数,下面我把某linux用户的最大进程数设为10000个:      ulimit -u 10000       对于需要做许多 socket 连接并使它们处于打开状态的 Java 应用程序而言,      最好通过使用 ulimit -n xx 修改每个进程可打开的文件数,缺省值是 1024。       ulimit -n 4096 将每个进程可以打开的文件数目加大到4096,缺省为1024       其他建议设置成无限制(unlimited)的一些重要设置是: 
     数据段长度:ulimit -d unlimited       最大内存大小:ulimit -m unlimited       堆栈大小:ulimit -s unlimited       CPU 时间:ulimit -t unlimited       虚拟内存:ulimit -v unlimited          暂时地,适用于通过 ulimit 命令登录 shell 会话期间。      永久地,通过将一个相应的 ulimit 语句添加到由登录 shell 读取的文件中, 即特定于 shell 的用户资源文件,如: 
1) 解除 Linux 系统的最大进程数和最大文件打开数限制:         vi /etc/security/limits.conf         # 添加如下的行         * soft noproc 11000         * hard noproc 11000         * soft nofile 4100         * hard nofile 4100         说明:* 代表针对所有用户             noproc 是代表最大进程数             nofile 是代表最大文件打开数  2) 让 SSH 接受 Login 程式的登入,方便在 ssh 客户端查看 ulimit -a 资源限制:         a、vi /etc/ssh/sshd_config               把 UserLogin 的值改为 yes,并把 # 注释去掉         b、重启 sshd 服务:               /etc/init.d/sshd restart 3) 修改所有 linux 用户的环境变量文件: vi /etc/profile  ulimit -u 10000 ulimit -n 4096 ulimit -d unlimited  ulimit -m unlimited  ulimit -s unlimited  ulimit -t unlimited  ulimit -v unlimited 
/**************************************
有时候在程序里面需要打开多个文件,进行分析,系统一般默认数量是1024,(用ulimit -a可以看到)对于正常使用是够了,但是对于程序来讲,就太少了。 修改2个文件。 1) /etc/security/limits.conf vi /etc/security/limits.conf 加上: * soft nofile 8192 * hard nofile 20480 2) /etc/pam.d/login session required /lib/security/pam_limits.so ********** 另外确保/etc/pam.d/system-auth文件有下面内容 session required /lib/security/$ISA/pam_limits.so 这一行确保系统会执行这个限制。 *********** 3) 一般用户的.bash_profile #ulimit -n 1024 重新登陆ok
3. /proc目录: 1)/proc目录里面包括很多系统当前状态的参数,例如:引用 /proc/sys/fs/file-max /proc/sys/fs/inode-max

是对整个系统的限制,并不是针对用户的; 2)proc目录中的值可以进行动态的设置,若希望永久生效,可以修改/etc/sysctl.conf文件,并使用下面的命令确认:

# sysctl -p

例如增加:

引用 fs.file-max=xxx fs.inode-max=xxx

时间: 2024-10-13 00:06:34

/etc/security/limits.conf的相关说明的相关文章

理解RHEL上安装oracle的配置参数 :/etc/security/limits.conf, /etc/profile, /etc/pam.d/login

无论安装什么版本的Oracle,在安装之前,都需要配置 /etc/pam.d/login   /etc/profile   /etc/security/limits.conf这三个文件 那这三个文件究竟是做什么用的呢?答案就是设置对oracle用户的shell limits.下面就仔细分析一下这几个文件 首先需要编辑/etc/security/limits.conf文件(用户限制配置文件) oracle soft nproc 2047 oracle hard nproc 16384 oracle

linux /proc/sys/fs/file-nr /proc/sys/fs/file-max /etc/security/limits.conf 三者的关联

ulimit -n 对应 /etc/security/limits.conf 文件设置 问题: Can’t open so many files 对于linux运维的同学们,相信都遇到过这个问题. 在Linux下一切资源皆文件,普通文件是文件,磁盘打印机是文件,socket 当然也是文件.系统默认设置成1024,但是这个数字对于服务器特别是大并发的远远是不够的,所以,我们需要结合实际情况修改成一个更大更合理的值. 修改方法 临时解决方案: ulimit -SHn 65535 永久解决方案,注意,

Linux系统 /etc/security/limits.conf 配置

1. limits.conf 配置文件描述 limits.conf文件实际是Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,突破系统的默认限制,对系统访问资源有一定保护作用. limits.conf 和sysctl.conf区别在于limits.conf是针对用户,而sysctl.conf是针对整个系统参数配置. 2. limits.conf工作原理 limits.conf是 pam_limits.

/etc/security/limits.conf解释及应用

limits.conf的格式如下:username|@groupname type resource limit username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别.也可以用通配符*来做所有用户的限制. type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值.hard 表明系统中所能设定的最大值.soft 的限制不能比har 限制高.用 - 就表明同时设置了 soft 和 hard 的值. resource:core - 限制内核文件

linux资源使用配置文件 /etc/security/limits.conf和ulimit

limits.conf文件实际上是linux PAM中pam_limits.so的配置文件,而且只针对于单个会话. limits.conf的格式如下: <domain> <type> <item> <value> domain有好几种格式,具体可以用man limits.conf来查看,不过一般来说,我们都是用的用户名和组名的形式:username|@groupname 设置需要被限制的用户名,组名前面加@和用户名区别.也可以用通配符*来做所有的限制. ty

/etc/security/limits.conf 文件说明

/etc/security/limits.conf 是 Linux 资源使用配置文件,用来限制用户对系统资源的使用 语法:<domain>  <type>  <item>  <value> [[email protected] ~]# cat /etc/security/limits.conf * soft nproc 65535 # 警告设定所有用户最大打开进程数为65535 * hard nproc 65535 # 严格设定所有用户最大打开进程数为655

[转帖]/etc/security/limits.conf的含义

https://www.cnblogs.com/pzk7788/p/7250723.html /etc/security/limits.conf 是 Linux 资源使用配置文件,用来限制用户对系统资源的使用 语法:<domain>  <type>  <item>  <value> [[email protected] ~]# cat /etc/security/limits.conf * soft nproc 65535 # 警告设定所有用户最大打开进程数

/etc/security/limits.conf

ulimit 命令用来限制系统用户对 shell 资源的访问,但只是临时生效,想要永久生效需要配置 /etc/security/limits.conf 文件,语法及常见配置如下: [root@localhost ~]$ cat /etc/security/limits.conf # /etc/security/limits.conf # #Each line describes a limit for a user in the form: # #<domain> <type> &

[转帖]linux文件描述符文件/etc/security/limits.conf

linux文件描述符文件/etc/security/limits.conf https://blog.csdn.net/fanren224/article/details/79971359 需要多学习了解一下. 文件描述符是什么?和文件句柄有啥区别? 文件描述符是linux/unix操作系统中特有的概念.相当于windows系统中的文件句柄.一个意思不同叫法. Linux系统中, 每当进程打开一个文件时,系统就为其分配一个唯一的整型文件描述符,用来标识这个文件.标准C中每个进程默认打开的有三个文