Доступно файловых дескрипторов 0, как увеличить

С некоторых дней мы получаем "Слишком много открытых файлов" в приложении Java при загрузке файлов. Итак, я начал поиск в Google, и увеличил fs.file-max в 200000 в моем /etc/sysctl.conf, После этого я бегу sysctl -p, Но это не помогло. Потому что когда я печатаю cat /proc/sys/fs/file-nr, это возвращает 2550 0 200000, Первые четыре цифры меняются, но 0 всегда равно 0, так как я начал искать..

Что я делаю здесь не так, или как я могу это исправить?

я бегу CentOS release 5.9 (final), с одним SSD, так что я не думаю, что это будет проблемой. (Кроме того, он не полный, слабый или что-то еще, и он работает хорошо в течение нескольких месяцев.)

Другое дело, но я не уверен, что это как-то связано с проблемой; Я могу создавать, уничтожать и редактировать файлы через SSH с помощью nano/rm. И приложение Java работает нормально до этой проблемы.

Благодарю.

1 ответ

Решение

Забудьте уровень ОС fs.file-max, это максимальное количество файловых дескрипторов, которое ваш текущий пользователь / группа может иметь (на процесс), который вы хотите редактировать. Увидеть ulimit -n,

Вы можете настроить этот лимит как root, изменив /etc/security/limits.conf, Также убедитесь, что ограничение применяется путем добавления ulimit -SHn 8192 (или любой другой предел, который вы хотите иметь) ~/.bashrc,

Другие вопросы по тегам