配置Linux文件句柄数

原创
2021/09/24 11:23
阅读数 2.1K

查看句柄数

Linux操作系统文件句柄数的限制默认是1024,也就是说一个进程最多可以接受1024个socket连接,这是远远不够的。所以在生产环境中,基本上都需要解除文件句柄数的限制。

在Linux下,通过调用ulimit命令可以看到一个进程能够打开的最大文件句柄数量。这个命令的具体使用方法是:

ulimit -n

ulimit命令是用来显示和修改当前用户进程的基础限制命令,-n选项用于引用或设置当前的文件句柄数量的限制值,Linux系统的默认值为1024。

调整句柄数

对于高并发、高负载的应用,必须调整这个系统参数,以适应并发处理大量连接的应用场景。可以通过ulimit来设置这两个参数,方法如下:

ulimit -n  65536

普通用户通过ulimit命令可将软性极限值更改到硬性极限值的最大设置值。如果要更改硬性极限值,必须拥有root用户权限。

也可以增加参数:

ulimit -SHn 65536

选项-S表示软性极限值,-H表示硬性极限值。硬性极限值是实际的限制 软性极限值则是系统发出警告(Warning)的极限值,超过这个极限值,内核会发出警告。

通过命令只能修改当前用户环境的一些基础限制,仅在当前用户环境有效。一旦断开用户会话,或者说用户退出Linux,它的数值就又变回系统默认的1024了。并且,系统重启后,句柄数量会恢复为默认值。

配置句柄数

编辑Linux的极限配置文件/etc/security/limits.conf来做到。修改此文件,加入如下内容:

* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096

soft :软性极限 hard:表示硬性极限 nofile : 一个进程最多能打开的的文件数 nproc : 一个用户最多能创建的进程数

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部