Ubuntu优化之修改打开文件数上限ulimit值的方法
ulimit是linux系统限制软件可打开的最大文件句柄数量,每打开一个文件,每打开一个连接(如nginx的并发连接),都要消耗此值。如果软件打开的句柄数量超过硬件限制,是不安全的,会导致系统崩溃。因此linux中有这样一个限制值。
而ulimit的默认值一般是1024,完全不能满足需求,尤其是今天普遍电脑硬件都较高的情况。因此需要手动修改此值
查看本机系统硬件限制:
sudo cat /proc/sys/fs/file-max
13157950
上面这个值根据你硬件不同,数值不一样。
查看当前用户限制:
sudo ulimit -n
1024
修改方法:
1、在文件 /etc/sysctl.conf 尾添加,此值最好不要达到系统上限值,因为系统本身运行还需要占用一部分。
fs.file-max = 655350
使此配置立即生效:
sysctl -p
2、在文件 /etc/security/limits.conf 尾添加
* soft nofile 655350
* hard nofile 655350
* soft nproc 655350
* hard nproc 655350
3、在文件 /etc/profile 尾添加
ulimit -SHn 655350
4、在文件 /etc/pam.d/common-session 尾添加
session required pam_limits.so
系统限制修改结束,重启系统后会生效。
如果你不想重启,使用以下命令可临时生效
ulimit -n 655350
如果你使用 nginx 则可以在nginx配置中修改
events {
worker_connections 655350;
use epoll;
multi_accept on;
}