Linux内核性能优化ulimit(nprocnofile)

Posted Xd聊架构

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux内核性能优化ulimit(nprocnofile)相关的知识,希望对你有一定的参考价值。

文章目录


一、ulimit介绍

为了防止失控的进程破坏系统的性能,UNIX和Linux会跟踪进程使用的大部分资源,并允许用户和系统管理员使用对进程的资源限制,例如控制某个进程打开的文件数、对某个用户打开系统进程数进行限制等,一般限制手段包括软限制和硬限制。

  • 软限制(soft limit):内核实际执行的限制,任何进程都可以将软限制设置为任意小于或等于对进程限制的硬限制的值、最大线程数(nproc)和文件数(nofile)
  • 硬限制(hard limit):可以在任何时候任何进程中设置,但硬限制只能由超级用户修改

当日志出现以下情况中的一种时,需要考虑修改nproc:

  • Cannot create GC thread. Out of system resources
  • java.lang.OutOfMemoryError: unable to create new native thread

查看所有用户创建的进程数

ps h -Led -o user | sort | uniq -c | sort -n

二、修改方法

默认Linux内核对每个用户设置了打开文件最大数为1024,对于高并发场景,是远远不够的,需要将默认值调整到更大

1.临时修改

 ulimit -n 65535 
 ulimit -u 65535 

2.永久修改

修改/etc/security/limits.conf,在末尾修改以下内容

* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
  • *代表所有用户,也可以针对不同的用户做出不同的限制
  • soft软限制:是warnning限制,只会做出warning
  • hard硬限制:实际的使用限制

结尾

  • 感谢大家的耐心阅读,如有建议请私信或评论留言。
  • 如有收获,劳烦支持,关注、点赞、评论、收藏均可,博主会经常更新,与大家共同进步

以上是关于Linux内核性能优化ulimit(nprocnofile)的主要内容,如果未能解决你的问题,请参考以下文章

内核参数:ulimit详解

linux内核优化

Linux内核优化配置

linux ulimit -u是设置啥参数的?

20180712Nginx 参数优化和内核参数优化

linux ulimit 优化系统