一、修改文件句柄数
1.1.查看当前大小
ulimit -a

1.2.临时修改
ulimit -n 4096

1.3.永久修改
vim /etc/security/limits.conf

*  soft  nofile  65536

*  hard  nofile  65536

重新登录后生效

二、修改max user processes进程数
2.1.临时修改
ulimit -u 65536

2.1.永久修改
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

注意
nofile

nofile表示单个进程可以打开的最大文件句柄数(默认值,软限制:1024,硬限制:4096)
/proc/sys/fs/file-max表示整个系统内核可以分配的最大文件句柄数(默认值约为物理内存转换成kb的值/10),如需修改执行命令:echo
‘fs.file-max=104857600’ >> /etc/sysctl.conf && sysctl -q -p
/proc/sys/fs/file-nr表示整个系统内核的文件句柄统计数据(只读),包含三个值,1:整个系统内核已分配的文件句柄数,2:整个系统内核已分配但未使用的文件句柄数(一般情况下为0),3:整个系统内核可以分配的最大文件句柄数(等于file-max)
/proc/sys/fs/nr_open表示单个进程可以分配的最大文件句柄数(默认值为1048576),如需修改执行命令:echo
‘fs.nr_open=2097152’ >> /etc/sysctl.conf && sysctl -q -p
nofile的值不能超过nr_open的值,如果配置文件中nofile的硬限制的值超过nr_open的值将会导致无法登录系统
单个进程可以打开的最大文件句柄数由nofile和file-max同时约束,假如一个进程已打开的文件句柄数小于nofile,但整个系统内核所有进程打开的文件句柄数已经达到file-max,此时这个进程也不能再打开文件句柄了

nproc

nproc表示单个用户创建的进程数(默认值,软限制:threads-max/2,硬限制:threads-max/2),线程的实现其实是一个轻量级的进程,所以线程也算进程
/proc/sys/kernel/threads-max表示整个系统内核可以分配的最大线程数,如需修改执行命令:echo
‘kernel.threads-max=1048576’ >> /etc/sysctl.conf && sysctl -q -p
/proc/sys/kernel/pid_max表示整个系统内核可以分配的最大进程ID(默认值为32768,2个字节的最大值),也就是说,整个系统内核最多只能分配pid_max个进程或线程,如需修改执行命令:echo
‘kernel.pid_max=1048576’ >> /etc/sysctl.conf && sysctl -q -p
/proc/sys/vm/max_map_count表示单个进程可以分配的内存映射区域的最大数量(默认值为65530),由于java中每创建一个线程需要分配2个内存映射区域,并且jvm本身也要占用部分内存映射区域,所以java程序理论上最多可以创建的线程数为略小于max_map_count/2(实际上还受jvm参数-Xms、-Xmx、-Xss以及操作系统物理内存的影响),如需修改执行命令:echo
‘vm.max_map_count=2097152’ >> /etc/sysctl.conf && sysctl -q -p
单个进程可以创建的线程数由nproc、threads-max、pid_max、max_map_count以及系统资源同时约束,达到其中一个的上限就不能再创建线程了
CentOS7中/etc/security/limits.d/20-nproc.conf(CentOS6是90-nproc.conf)会覆盖/etc/security/limits.conf中的nproc配置,前提条件是,(20|90)-nproc.conf和limits.conf的domain相同或者(20|90)-nproc.conf比limits.conf的domain更具体,优先级从高到低分别为:
/etc/security/limits.d/(20|90)-nproc.conf中domain为具体用户的配置
/etc/security/limits.conf中domain为具体用户的配置
/etc/security/limits.d/(20|90)-nproc.conf中domain为通配符()的配置
/etc/security/limits.conf中domain为通配符(
)的配置

注意事项

domain中具体用户比通配符(*)优先级高
软限制不能大于硬限制,如果配置文件中软限制设置的比硬限制高,则软限制会使用硬限制的值,通过ulimit命令设置软限制不能超过硬限制。root用户可以通过ulimit命令降低和提高硬限制(nofile的值不能超过nr_open的值)。非root用户可以通过ulimit命令降低硬限制,但不可以通过ulimit命令提高硬限制。

Linux修改文件句柄数及vm.max_map_count、stack size相关推荐

  1. Linux修改文件句柄数与vm.max_map_count参数

    1.修改文件句柄数 1.1.查看当前大小 ulimit -a 1.2.临时修改 ulimit -n 4096 1.3.永久修改 vim /etc/security/limits.conf * soft ...

  2. Linux修改文件句柄数

    1 修改文件句柄数 1.1 查看当前大小 ulimit -a  1.2 临时修改 ulimit -n 4096 1.3 永久修改 vim /etc/security/limits.conf 注:需要使 ...

  3. linux修改文件句柄数生效_linux修改句柄数

    linux服务器大并发调优时,往往需要预先调优linux参数,其中修改linux最大文件句柄数是最常修改的参数之一. 在linux中执行ulimit -a 即可查询linux相关的参数,如下所示: [ ...

  4. linux修改文件句柄数生效_linux系统层面调优和常见的面试题

    linux系统层面调优和常见的面试题​mp.weixin.qq.com 无论对Spark集群,还是Hadoop集群等大数据相关的集群进行调优,对linux系统层面的调优都是必不可少的,这里主要介绍3种 ...

  5. linux修改文件句柄数生效_linux设置打开文件句柄数

    介绍 在Linux下有时会遇到Socket/File : Can't open so many files的问题.其实Linux是有文件句柄限制的,而且Linux默认一般都是1024(阿里云主机默认是 ...

  6. linux 修改文件句柄数限制

    打开文件句柄数是有限制的,可以通过 sysctl fs.nr_open 命令查看最大值,sysctl 是加在内核参数的命令 一般容器为 mcs 的修改是不能大于这个值的,要不然修改了可能就坏掉:只能直 ...

  7. linux修改文件句柄数生效_Linux 修改最大文件句柄数

    1,临时生效 # ulimit -SHn 10000 其实ulimit 命令身是分软限制和硬限制,加-H就是硬限制,加-S就是软限制.默认显示的是软限制,如果运行ulimit 命令修改时没有加上-H或 ...

  8. linux修改文件句柄数生效_修改Linux的open files参数是,立即生效,无需重启

    通过命令ulimit -a查看的open files参数的修改: core file size          (blocks, -c) 0 data seg size           (kby ...

  9. db文件 linux查看工具,Linux最大文件句柄数查看及修改

    Linux最大文件句柄数查看及修改 在linux服务器大并发调优时,往往需要预先调优linux参数,其中修改linux最大文件句柄数是最常修改的参数之一. 在linux中执行ulimit -a 即可查 ...

  10. 修改linux最大文件句柄数

    大家知道在linux服务器大并发调优时,往往需要预先调优linux参数,其中修改linux最大文件句柄数是最常修改的参数之一. 在linux中执行ulimit -a 即可查询linux相关的参数,如下 ...

最新文章

  1. “23岁本科生发14篇SCI”,文章被学校官网悄悄删了,你怎么看?
  2. Linux 2.6内核配置说明(File systems文件系统)
  3. POJ 1273 (基础最大流) Drainage Ditches
  4. 个人计算机有控制器和运算器吗,cpu是由控制器和运算器组成的对还是错
  5. 工厂电子产品工艺文件_建智能工厂,人机如何达到最佳组合?
  6. commonJS — 数字操作(for Number)
  7. Simple2D-22(重构)纹理池
  8. c++ 工厂模式_Java面试专题之五:设计模式学习,详细分析工厂方法模式
  9. MFC——在共享DLL中使用MFC、在静态库中使用MFC
  10. 【名单回顾】CSP-J2 2019年第二轮入门级获奖名单(仅列北京地区小学生)
  11. 多个html合并一个PDF,如何将多个网页合并成一个PDF文件
  12. kd718和kb688参数_GJK SPP 5BGK AEC F04A tB9 D4 RMP
  13. Java面试?看这一篇就够了
  14. ADC采样使用钳位电路分压来采比电压高的电路
  15. 区块链是什么,如何去理解?
  16. 【转载】发一篇能激励大家拼搏的文章,文中内容属实
  17. navicat显示中文为问号
  18. 【5G RLC】AM模式的数据传输详解
  19. 成功解决 由于找不到opencv_world410d.dll,无法执行代码,重新安装程序可能会解决此问题
  20. 老司机谈鉴黄,新一代“鉴黄师”是如何养成的?

热门文章

  1. Pytorch拟合心形函数
  2. L1-009 N个数求和 (20分) C语言
  3. vl53l1x+stm32激光测距分析(待修改)
  4. 搞定检索式对话系统的候选response检索--使用pysolr调用Solr
  5. 效果惊人:上古卷轴III等经典游戏也能使用超分辨率GAN重制了
  6. office 2003安装/卸载“无法打开此修补程序包”错误的解决方案
  7. python为什么卸载不了_为什么Python3.8删除不了?
  8. 量化分析自己的生活——日活统计表,但求客观公正,勿违彼时言!
  9. 基于SpringBoot的毕业设计题目
  10. 「保姆级教学」带你闹清楚JAVA人的TOM猫是啥,再整明白Mac下怎么安装Tomcat