Это происходит в Ubuntu версии 12.04 (точная) 64-разрядное ядро Linux 3.2.0-25-virtual
Я пытаюсь увеличить количество открытых файлов, разрешенных пользователю. Это для моего приложения eclipse java, где текущего ограничения в 1024 недостаточно.
Согласно сообщениям, которые я нашел до сих пор, я должен быть в состоянии поместить строки в
/etc/security/limits.conf примерно так:
soft nofile 4096hard nofile 4096
чтобы увеличить количество открытых файлов, разрешенных для всех пользователей.
Но у меня это не работает, и я думаю, что проблема не связана с этим файлом.
Для всех пользователей ограничение по умолчанию равно 1024, независимо от того, что находится в /etc/security/limits.conf (я перезагрузился после изменения этого файла)
$ ulimit -n1024
Теперь, несмотря на записи в / etc /security /limits.conf, я не могу увеличить это:
$ ulimit -n 2048
-bash: ограничение: открытые файлы: невозможно изменить ограничение: Операция не разрешена Странная часть заключается в том, что я могу изменить ограничение вниз, но не могу изменить его в сторону увеличения - даже для того , чтобы вернуться к числу , которое ниже первоначального предела:
$ ulimit -n 800$ ulimit -n800$ ulimit -n 900-bash: ulimit: open files: cannot modify limit: Operation not permitted
Как root, я могу изменить это ограничение на все, что захочу, вверх или вниз. Похоже, его даже не волнует якобы общесистемное ограничение в / proc / sys / fs /file-max
# cat /proc/sys/fs/file-max188897# ulimit -n 188898# ulimit -n 188898
Но даже если я запускаю eclipse от имени root, мое приложение все равно выходит из строя из-за исключения "Слишком много открытых файлов"!
До сих пор я не нашел никакого способа увеличить лимит открытых файлов для пользователя, не являющегося root.
Как я должен правильно это сделать? Я просмотрел несколько других сообщений, но безуспешно!