Как увеличить максимальный предел открытия файла Neo4j (ulimit) в Ubuntu?
в настоящее время ulimit -n
показывает 10000
. Я хочу увеличить его до 40000
. Я отредактировал " / etc / sysctl.conf" и поставить fs.file-max=40000
. Я также отредактировал /etc/security/limits.conf
и обновленные жесткие и мягкие значения. Но все же ограничение показывает 10000
. После внесения всех этих изменений я перезагрузил свой ноутбук. У меня есть доступ к паролю root.
usr_name@usr_name-lap:/etc$ /sbin/sysctl fs.file-max
fs.file-max = 500000
добавлены следующие строки в /etc/security/limits.conf
-
* soft nofile 40000
* hard nofile 40000
Я также добавил следующую строку в /etc/pam.d/su
-
session required pam_limits.so
Я пробовал все возможное путь, как указано на других форумах, но я могу достичь максимального предела 10000
не за что. В чем может быть проблема?
я делаю это изменение, потому что neo4j
бросает максимальные открытые пределы файла, достигнутая ошибка.
10 ответов
Я использую Debian, но это решение должно работать с Ubuntu.
Вы должны добавить строку в СУБД Neo4j-служба сценарий.
Вот что я сделал:--5-->
nano / etc / init.d / neo4j-сервис
добавить " параметр ulimit –Н 40000 " перед start-stop-daemon line на раздел do_start
обратите внимание, что я использую версию 2.0 Enterprise edition. Надеюсь, это будет помочь тебе.
что вы делаете, не будет работать для пользователя root. Возможно, вы используете свои службы как root, и поэтому вы не видите изменения.
увеличить ulimit для пользователя root, вы должны заменить *
по корень. *
не применяется для пользователя root. Отдых такой же, как и вы. Я процитирую его здесь.
добавьте в файл следующие строки:/etc/security/limits.conf
root soft nofile 40000
root hard nofile 40000
и затем добавьте следующую строку в файл: /etc/pam.d/common-session
session required pam_limits.so
это обновит ulimit для пользователя root. Как упоминалось в комментариях, вам даже не придется перезагружаться, чтобы увидеть изменения.
1) Проверьте sysctl file-max
ограничения:
$ cat /proc/sys/fs/file-max
если ограничение ниже желаемого значения, откройте sysctl.conf
и добавьте эту строку в конце файла:
fs.file-max = 65536
и, наконец, применить sysctl
ограничения:
$ sysctl -p
2) редактировать /etc/security/limits.conf
и добавьте ниже упомянутое
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
эти ограничения не будут применяться для root
пользователь, если вы хотите изменить root
ограничения вы должны сделать это явно:
root soft nofile 65535
root hard nofile 65535
...
3) перезагрузка системы или добавьте следующую строку в конец /etc/pam.d/common-session
:
session required pam_limits.so
выйдите из системы и войдите снова.
4) Проверьте мягкие пределы:
$ ulimit -a
и жесткие ограничения:
$ ulimit -Ha
....
open files (-n) 65535
ссылка : http://ithubinfo.blogspot.in/2013/07/how-to-increase-ulimit-open-file-and.html
у меня была та же проблема, и я заставил ее работать, добавив записи в /etc/security/limits.d/90-somefile.conf
. Обратите внимание, что для того, чтобы увидеть ограничения, я должен был полностью выйти из сеанса ssh, а затем войти обратно.
Я хотел установить предел для конкретного пользователя, который запускает службу, но, похоже, я получал предел, который был установлен для пользователя, в котором я входил. Вот пример, чтобы показать, как ulimit устанавливается на основе аутентифицированного пользователя, а не эффективного пользователь:
$ sudo cat /etc/security/limits.d/90-nofiles.conf
loginuser soft nofile 10240
loginuser hard nofile 10240
root soft nofile 10241
root hard nofile 10241
serviceuser soft nofile 10242
serviceuser hard nofile 10242
$ whoami
loginuser
$ ulimit -n
10240
$ sudo -i
# ulimit -n
10240 # loginuser's limit
# su - serviceuser
$ ulimit -n
10240 # still loginuser's limit.
можно использовать *
чтобы указать увеличение для всех пользователей. Если я перезапущу службу как пользователь, в котором я вошел в систему, и добавлю ulimit -n
для сценария init я вижу, что ограничения начального пользователя входа в систему установлены. У меня не было возможности проверить, какие ограничения пользователя используются во время загрузки системы или определения фактического предела nofile службы, которую я запускаю (которая запускается с помощью Start-stop-daemon).
- добавьте настройку ulimit в сценарий init непосредственно перед запуском-остановкой-демоном.
- подстановочный знак или более обширные настройки ulimit в файле безопасности.
вы можете изменить сценарий инициализации для neo4j
сделать ulimit -n 40000
перед neo4j
.
neo4j
или то, как вы его используете. Я бы попытался это исправить.у меня много проблем, чтобы заставить это работать.
использование следующего позволяет обновлять его независимо от вашего разрешения пользователя.
sudo sysctl -w fs.inotify.max_user_watches=100000
редактировать
только что видел это от другого пользователя также на другом сайте stackexchange (оба работают, но эта версия постоянно обновления настройки системы, а не временно):
echo fs.inotify.max_user_watches=100000 | sudo tee -a /etc/sysctl.conf;
sudo sysctl -p
попробуйте запустить эту команду, она создаст под /etc/security/limits.d
echo "* soft nofile 102400" > /etc/security/limits.d/*_limits.conf && echo "* hard nofile 102400" >> /etc/security/limits.d/*_limits.conf
просто выйдите из терминала и снова войдите в систему и проверьте ulimit -n
он будет установлен для * users
tl; dr установите как мягкие, так и жесткие пределы
Я уверен, что он работает по назначению, но я добавлю его здесь на всякий случай. Для полноты лимит установлен здесь (см. ниже для синтаксиса): / etc / security / limits.conf
some_user soft nofile 60000
some_user hard nofile 60000
и активируется следующим образом в /etc / pam.d / общая сессия:
session required pam_limits.so
если вы установили только жесткий предел,ulimit -a
покажет значение по умолчанию (1024):
Если вы установите только мягкий предел ulimit-a покажет (4096)
если вы поставили их обоих ulimit -a
покажет мягкий предел (до жесткого предела, конечно)
конфигурация ULIMIT:
- войти по root
- vi безопасность / ограничения.conf
-
сделать ниже запись
Ulimit конфигурации начать для сайт пользователей
website soft nofile 8192 website hard nofile 8192 website soft nproc 4096 website hard nproc 8192 website soft core unlimited website hard core unlimited
-
сделать ниже запись для всех пользователей
конфигурация Ulimit для каждого пользователя
* soft nofile 8192 * hard nofile 8192 * soft nproc 4096 * hard nproc 8192 * soft core unlimited * hard core unlimited
после изменения файла пользователю необходимо выйти из системы и снова войти в систему, чтобы увидеть новый ценности.