Назад | Перейти на главную страницу

Centos, на которой запущен Apache Tomcat, продолжает получать «java.net.SocketException: слишком много открытых файлов»

Мы запускаем Apache Tomcat 7.0.41 на CentOS 6 с версией Java "1.7.0_21". Мы получали слишком много ошибок при открытии файлов, поэтому я провел небольшое исследование. По общему мнению, это связано с количеством открытых файлов. Итак, я сделал следующее:

Я заметил, что когда общее количество открытых файлов достигло около 13000, а у tomcat было около 4500 открытых файлов, ошибка появилась снова.

Я смущен. Я думал, что это решило бы проблему, но, очевидно, я не полностью понимаю основную причину, а также то, как правильно установить параметр.

Чтобы (возможно) помочь, я не модифицировал файл server.xml для Tomcat (хотя мне очень хочется). Я не хочу начинать с этим возиться и усугублять ситуацию.

Я более чем рад поделиться дополнительной информацией, если кто-нибудь подскажет, с чего начать.

У меня была аналогичная проблема с Tomcat 6 и Java 6, но мой /etc/security/limits.conf выглядит как

tomcat           soft    nproc   2047
tomcat           hard    nproc   16384
tomcat           soft    nofile  1024
tomcat           hard    nofile  65536

куда tomcat пользовательская служба tomcat запускается как.