Linux
Wildfly:打開的文件太多
我們最近在 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
)以使其正常工作