Доступно файловых дескрипторов 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
,