linux + 消息 + “打开文件过多 (24)”消息的含义是什么

linux + 消息 + “打开文件过多 (24)”消息的含义是什么

/var/日志/消息我看到很多行如下:

   Oct  9 10:01:14 Linux_machine15 syslog-ng[14736]: Error opening file for writing; filename='/var/log/remote/102.18.20.44/kern.log', error='Too many open files (24)'

我需要了解“打开文件过多 (24)”消息的含义是什么?

 more /etc/security/limits.conf


 *       soft    nofile  8192
 *       hard    nofile  65536
 *       soft    nproc   8391
 *       hard    nproc   16384

答案1

操作系统设置了限制,即一个进程允许打开的文件数量。这些限制通常设置在/etc/security/limits.conf.

默认情况下,打开文件的限制可能太低,有时低至 1024。

您可以通过添加以下内容来增加全局限制:

*          -       nofile          16384

username您还可以通过将第一列中的星号替换为 或 来设置每个用户或每个组的限制@groupname

答案2

系统可以处理的打开文件数量有两个可配置的限制。要查看硬值和软值,请使用:

ulimit -Hn
ulimit -Sn

IIRC 大多数发行版将文件描述符的限制设置为每个用户 1024 个。您可以使用 删除限制ulimit -n 0

要永久更改此设置,请调整/etc/security/limits.conf并重新启动系统:

echo -ne " 
* soft nofile 65536 
* hard nofile 65536 
" >>/etc/security/limits.conf 

相关内容