Есть еще один случай, который я обнаружил, который может вызвать похожие ситуации. У меня есть два приложения, развернутые в Tomcat, и когда я развертываю третье, я начинаю наблюдать это
поведение.
В этом конкретном случае я обнаружил, что tomcat с этими тремя приложениями открывает много файлов, и в этом случае иногда требуется около 1600 файлов, открытых для работы (системные библиотеки, jar, temp и т. Д.). Когда он превышает системные значения по умолчанию 1024 максимально открытых файлов в некоторых запросах, похоже, что некоторые файлы не могут быть открыты, и у меня случайно странные ошибки
(включая часто ClassNotFoundException в jsp-s). Все это зависит от того, насколько быстро я нажимаю на эти приложения в окнах браузера, файлы открываются и закрываются очень быстро.
Это помогло мне, и я больше не вижу проблем с этим экземпляром:
ulimit -n 2048
Это может быть использовано для наблюдения во время работы сервера, каково количество открытых файлов (если tomcat запускается как пользователь "tomcat"):
while [ true ]; do lsof -u tomcat|wc -l; sleep 1s; done