Как увеличить максимальный лимит открытия файлов Neo4j (ulimit) в Ubuntu?
в настоящее время ulimit -n показывает 10000. Я хочу увеличить его до 40000. Я редактировал " / etc / sysctl.конф" и поставил fs.file-max=40000. Я также редактировал /etc/security/limits.conf и обновленные жесткие и мягкие значения. Но все же ограничение показывает 10000. После внесения всех этих изменений я перезагрузил свой ноутбук. У меня есть доступ к корневому паролю.
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-service сценарий.
Вот что я сделал :nano / etc / init.d / neo4j-service
добавить " ulimit-n 40000 " перед start-stop-daemon line на раздел do_startобратите внимание, что я использую версию 2.0 Enterprise edition. Надеюсь, что это будет помочь тебе.
что вы делаете, не будет работать для пользователя root. Возможно, вы используете свои службы как root, и поэтому вы не видите изменения.
увеличить ulimit для пользователя root, вы должны заменить
*по корень.*не применяется для пользователя root. Отдых такой же, как и у вас. Я перефразирую его здесь.добавьте в файл следующие строки:
/etc/security/limits.confroot soft nofile 40000 root hard nofile 40000а затем добавить следующую строку в файл:
/etc/pam.d/common-sessionsession required pam_limits.soэто обновит ulimit для пользователя root. Как уже упоминалось в комментариях, вам может даже не нужно перезагружаться, чтобы увидеть изменения.
1) Проверьте sysctl
file-maxограничения:$ cat /proc/sys/fs/file-maxесли ограничение ниже желаемого значения, откройте
sysctl.confи добавьте эту строку в конце файла:fs.file-max = 65536и, наконец, применить
sysctlограничения:$ sysctl -p2) редактировать
/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для сценария инициализации я вижу, что ограничения начального пользователя входа в систему установлены. У меня не было возможности проверить, какие ограничения пользователя используются во время загрузки системы или определения того, что фактическое ограничение nofile является службой, которую я запускаю (которая запускается с помощью start-stop-daemon).есть 2 подхода, которые работают на данный момент:
- добавьте настройку ulimit в сценарий инициализации, непосредственно перед запуском-остановкой-демоном.
- подстановочный знак или более обширные настройки ulimit в файле безопасности.
вы можете изменить сценарий инициализации для
neo4jсделатьulimit -n 40000передneo4j.однако, я не могу не чувствовать, что вы лаете не на то дерево. Делает
neo4jзаконно нужно более 10 000 открытых файловых дескрипторов? Это звучит очень похоже на ошибку вneo4jили то, как вы его используете. Я бы попытался решить эту проблему.
у меня много проблем с получением этой работы.
используя следующее, Вы можете обновить его независимо от вашего разрешения пользователя.
sudo sysctl -w fs.inotify.max_user_watches=100000Edit
просто видел это от другого пользователя также на другом сайте stackexchange (оба работают, но эта версия постоянно обновления настройки системы, а не временно):
echo fs.inotify.max_user_watches=100000 | sudo tee -a /etc/sysctl.conf; sudo sysctl -p
попробуйте запустить эту команду, она создаст под
/etc/security/limits.decho "* soft nofile 102400" > /etc/security/limits.d/*_limits.conf && echo "* hard nofile 102400" >> /etc/security/limits.d/*_limits.confпросто выйдите из терминала и войдите снова и проверьте с помощью
ulimit -nон будет установлен для * пользователей
tl; dr устанавливает как мягкие, так и жесткие пределы
Я уверен, что это работает, как задумано, но я добавлю его здесь на всякий случай. Для полноты предел установлен здесь (см. ниже синтаксис): в /etc/безопасности/ограничения.conf
some_user soft nofile 60000 some_user hard nofile 60000и активируется следующим образом в /etc / pam.d / common-session:
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после изменения файла, пользователь должен выйти из системы и войти снова, чтобы увидеть новый ценности.