Недавно мы получили ошибку «слишком много открытых файлов» в нашей продукции Wildfly 17 на Debian 9. Простой перезапуск службы wildfly избавил от ошибки, но я хотел бы избежать повторения проблемы.
Я хотел бы увеличить лимит, но я не уверен, что мне следует изменить и как я могу узнать, что конфигурация была принята во внимание.
Я проверил ulimit для пользователя wildfly без входа в систему:
sudo su - wildfly -c 'ulimit -a' -s '/bin/bash'
размер основного файла (блоки, -c) 0
размер сегмента данных (кбайт, -d) не ограничен
приоритет планирования (-e) 0
размер файла (блоки, -f) не ограничен
ожидающие сигналы (-i) 117724
максимальная заблокированная память (кбайт, -l) 64
максимальный размер памяти (кбайт, -m) не ограничен
открыть файлы (-n) 1024
размер канала (512 байт, -p) 8
Очереди сообщений POSIX (байты, -q) 819200
приоритет реального времени (-r) 0
размер стека (кбайт, -с) 8192
время процессора (секунды, -t) не ограничено
максимальное количество пользовательских процессов (-u) 117724
виртуальная память (кбайт, -v) не ограничена
блокировка файлов (-x) не ограничена
Ограничение, кажется, установлено на уровне 1024 для пользователя. Однако я могу проверить количество открытых файлов с помощью моих процессов wildfly, и у меня есть это:
sudo ls -l /proc/PID/fd | wc -l
1296
Что больше предела, и сейчас я не получаю никаких ошибок. Есть ли способ установить лимит выше навсегда? Может быть, в файлах конфигурации wildfly? Я немного потерян.