Linux

linux +消息+“打開的文件太多(24)”消息是什麼意思

  • March 9, 2019

從**/var/log/messages**我看到很多行如下:

  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

作業系統設置限制,允許程序擁有多少打開文件。這些限制通常設置在/etc/security/limits.conf.

預設情況下,打開文件的限制可能太低,有時低至 1024。

您可以通過添加以下內容來增加全域限制:

*          -       nofile          16384

username您還可以通過將第一列中的星號替換為或來設置每個使用者或每個組的限制@groupname

系統可以處理多少打開文件有兩個可配置的限制。要查看硬值和軟值,請使用:

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 

引用自:https://unix.stackexchange.com/questions/315252