Linux

Wildfly:打開的文件太多

  • March 28, 2022

我們最近在 debian 9 上的生產 Wildfly 17 中遇到“打開的文件過多”錯誤。簡單地重新啟動 wildfly 服務即可消除該錯誤,但我想避免再次出現該問題。我想增加限制,但我不確定我應該更改什麼以及如何知道已考慮的配置。

我檢查了無登錄 Wildfly 使用者的 ulimit:

   sudo su - wildfly -c 'ulimit -a' -s '/bin/bash'
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 117724
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 117724
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

使用者的限制似乎設置為 1024。但是我可以通過我的 wildfly 程序檢查打開文件的數量,我有這個:

sudo ls -l /proc/PID/fd |wc -l
1296

這大於限制,我現在沒有收到任何錯誤。有沒有辦法永久設置更高的限制?也許在wildfly配置文件中?我有點失落。

您需要在/etc/security/limits.conf. 例如,使用者的一條記錄wildfly和打開文件的數量可能如下所示:

wildfly  soft    nofile          16384
wildfly  hard    nofile          16384

此設置為使用者打開的文件數為 16384

PS您應該註銷然後登錄(以使用者身份wildfly)以使其正常工作

引用自:https://serverfault.com/questions/1097196