linux limit文件最大打开数

linux limit文件最大打开数

注意: 不止在 /etc/security/limit.conf 中可以配置,在 ~/.bashrc、/etc/profile 也可以配置,踩了个坑,改了好多遍一直不生效,最后发现在 ~/.bashrc里有配置

修改文件句柄数

查看当前大小open files

ulimit -a

image

临时修改

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

image

临时修改

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
image

临时修改

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
posted @ 2022-10-18 11:14  liwenchao1995  阅读(1007)  评论(0编辑  收藏  举报