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

 更新时间:2024年10月08日 14:35:55   作者:运维@小兵  
修改/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指的是当前系统生效的设置值,软限制也可以理解为警告值。
  • hard表明系统中所能设定的最大值。soft的限制不能比hard限制高
  • -表名同时设置了soft和hard的值。
soft memlock unlimited

表示没有软限制

示例

* - nproc 655360
* - nofile 655360

总结

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

相关文章

  • LNMP服务器环境配置 (linux+nginx+mysql+php)

    LNMP服务器环境配置 (linux+nginx+mysql+php)

    在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍
    2014-07-07
  • Linux卸载自带jdk并安装新jdk版本的图文教程

    Linux卸载自带jdk并安装新jdk版本的图文教程

    在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK 1.8,所以本文给大家详细介绍了Linux卸载自带jdk并安装新jdk版本的图文教程,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2025-04-04
  • 详解Linux如何查看当前占用CPU或内存最多的几个进程

    详解Linux如何查看当前占用CPU或内存最多的几个进程

    本篇文章主要介绍了详解Linux如何查看当前占用CPU或内存最多的几个进程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • windows apache环境下部署SSL证书让网站支持https的配置方法

    windows apache环境下部署SSL证书让网站支持https的配置方法

    由于网站劫持与chrome浏览器默认不用https的提示网站不安全的原因,今天把SSL证书部署分享一下,希望能帮到大家
    2020-09-09
  • 详解linux下umask的使用

    详解linux下umask的使用

    这篇文章主要介绍了详解linux下umask的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 详解搭建ubuntu版hadoop集群

    详解搭建ubuntu版hadoop集群

    本篇文章主要介绍了详解搭建ubuntu版hadoop集群,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Xshell连接不上虚拟机的解决办法汇总

    Xshell连接不上虚拟机的解决办法汇总

    本文主要介绍了Xshell连接不上虚拟机的解决办法汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 在Linux中精确测量域名解析时间的方法

    在Linux中精确测量域名解析时间的方法

    域名解析是互联网通信的基础环节之一,它负责将人类可读的域名(如 example.com)转换为机器可读的 IP 地址(如 93.184.216.34),本文将详细介绍如何在 Linux 系统中精确测量域名解析时间,涵盖多种工具和方法,帮助你从入门到精通,需要的朋友可以参考下
    2025-02-02
  • ssh修改超时自动登出时间的方法

    ssh修改超时自动登出时间的方法

    这篇文章主要介绍了关于linux中ssh超时自动登出时间的设置方法,以避免总是被强行退出。需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • Vim自定义高亮分组以及一些实用技巧小结

    Vim自定义高亮分组以及一些实用技巧小结

    Vim/Vi基本上是*nix世界最受欢迎的编辑器了,不知道为什么,一直以来觉得和Emacs比起来,Vim更加有亲和力,用起来很舒服。那么下面这篇文章主要给大家介绍了关于Vim自定义高亮分组以及一些实用技巧的相关资料,需要的朋友可以参考下。
    2017-07-07

最新评论