linux limit文件最大打开数
目录
linux limit文件最大打开数
注意: 不止在 /etc/security/limit.conf 中可以配置,在 ~/.bashrc、/etc/profile 也可以配置,踩了个坑,改了好多遍一直不生效,最后发现在 ~/.bashrc里有配置
修改文件句柄数
查看当前大小open files
ulimit -a
临时修改
ulimit -n 4096
永久修改
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
//重新登录后生效
修改max user processes进程数
临时修改
ulimit -u 65536
永久修改
vim /etc/security/limits.conf
* soft nproc 65536
* hard nproc 65536
调整vm.max_map_count的大小
max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量
报错“max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]”
查看当前值
sysctl -a|grep vm.max_map_count
临时修改
sysctl -w vm.max_map_count=262144
永久修改
vim /etc/sysctl.conf
vm.max_map_count=262144
//sysctl生效
sysctl -p
调整stack size的大小
查看
ulimit -a,默认是8192,即8M
临时修改
ulimit -s 1024
永久修改
vi /etc/security/limits.conf
* soft stack 1024
* hard stack 1024
设置系统所有进程一共可以打开的文件数量
如果安装第一、第二点操作后还是提示文件数量不够,需要修改系统一共可以打开的文件数量
修改/etc/sysctl.conf, 加入
vim /etc/sysctl.conf
fs.file-max = 6553600
//使配置生效
sysctl -p
cat /proc/sys/fs/file-max #查看是否生效
关于/etc/security/limits.conf的介绍
/etc/security/limits.d/的优先级高于/etc/security/limits.conf
用户A如果在/etc/security/limits.conf有配置,当/etc/security/limits.d子目录下配置文件也有用户A的配置时,那么A中某些配置会被覆盖。最终取值是 /etc/security/limits.d 下的配置文件的值
soft,hard和-
- soft 指的是当前系统生效的设置值,软限制也可以理解为警告值。
- hard 表明系统中所能设定的最大值。soft的限制不能比hard限制高
-
- 表名同时设置了soft和hard的值。
* - nproc 655360
* - nofile 655360