Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux修改文件句柄数及vm.max_map_count、stack size大小

Linux修改文件句柄数方式及vm.max_map_count、stack size的大小

作者:运维@小兵

修改/etc/security/limits.conf文件可以调整Linux系统的文件句柄数、进程数等资源限制,需注意的是,对该文件的更改需要重新登录系统才能生效,如需临时修改,可以使用命令直接设置;永久修改则需编辑配置文件,设置nofile的最大值不应超过1048576

注意:修改limits.conf文件需重新登录才能生效

一、修改文件句柄数

1.1.查看当前大小

ulimit -a

1.2.临时修改

ulimit -n 4096

1.3.永久修改

vim /etc/security/limits.conf

*  soft  nofile  65536
*  hard  nofile  65536

重新登录后生效

PS:nofile可以设置的最大值为 1048576(2**20),设置的值大于该数,就会导致不能登录。

二、修改max user processes进程数

2.1.临时修改

ulimit -u 65536

2.2.永久修改

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]”

3.1.查看当前值

sysctl -a|grep vm.max_map_count

3.2.临时修改

sysctl -w vm.max_map_count=262144

3.3.永久修改

vim /etc/sysctl.conf

vm.max_map_count=262144

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, 加入

fs.file-max = 6553600
sysctl -p
cat /proc/sys/fs/file-max #查看是否生效

六、关于/etc/security/limits.conf的介绍

参考文章:

/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 memlock unlimited

表示没有软限制

示例

* - nproc 655360
* - nofile 655360

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文