Linux 技术手札

Linux 开启档案太多错误 “too many open files”

如果在 Linux 下的指令或 Script 开启的档案数量太多,超过了系统开启档案的限制,便会看到以下错误:

Too many open files (24)

解决方法是提高开启档案的限制,而提高开启档案上限,分别可以设定整个系统通用,或者只针对个别使用者帐号,以下是设定方法:

个别使用者帐号设定:

开启档案 /etc/security/limits.conf:

# /etc/security/limits.conf

例如我要将 useracc 帐号的开启档案限制改为 500000, 在档案最后加入以下两行:

useracc hard nofile 500000
useracc soft nofile 500000

然后开启档案 /etc/pam.d/common-sess
储存盘案后,useracc 帐号下次登入后,设定便会生效,如果帐号已经登入,需要重新登入才会生效。

上调系统默认限制

开启档案 /etc/sysctl.conf

# vi /etc/sysctl.conf

加入以下一行:

fs.file-max = 2097152

储存盘案后离开编辑器,下次开机设定会生效,或者执行以下指令让设定立即生效:

# sysctl -p
Exit mobile version