Я предполагаю, что служба tomcat работает под пользователем tomcat.
проверить открытые файлы командой lsof -u tomcat | wc -l
проверьте максимальное количество файловых дескрипторов для всей системы с помощью команды: cat /proc/sys/fs/file-max
проверить текущее использование файловых дескрипторов с командой: cat /proc/sys/fs/file-nr
, чтобы сделать изменение постоянным, добавьте или измените следующую строку в файле /etc/sysctl.conf
. Этот файл используется во время процесса загрузки.
echo "fs.file-max=65536" >> /etc/sysctl.conf
(значения действительны после перезагрузки)
запустить команду ulimit -a
и проверить количество открытых файлов (-n) и максимальное количество пользовательских процессов (-u)
при необходимости увеличьте значения.
e.g. : in /etc/security/limits.conf file
tomcat hard nofile 102400
tomcat soft nofile 102400
команда запуска: systemctl status tomcat
получить tomcat pid
и
проверьте cat / proc / 'tomcat pid' / limit, если лимиты по-прежнему имеют значения по умолчанию, добавьте следующие строки в файл /etc/init.d/tomcat.
ulimit -Hn 16384
ulimit -Sn 16384
после изменения файла /etc/init.d/tomcat перезапустите службу tomcat, чтобы применить изменения.