有些机器上,服务的tcp连接特别多,可能上100k+,这时如果系统没有优化好,就会出现too many open file的报错
file-max是内核可分配的最大文件数
一般系统默认内核可分配的最大文件数是内存(kb为单位)的10%左右
下面就是一个4G的机器的信息。
cat /proc/sys/fs/file-max
378666
阿里云上的机器,默认都会在/etc/security/limits.conf最后加上以下信息,来修改文件打开数限制
* soft nofile 65535
* hard nofile 65535
计算可知,16G的机器,我可以把文件打开数设置为16 000 00
修改/etc/security/limits.conf后,重新进入shell,就会生效