Назад | Перейти на главную страницу

Как увеличить дескрипторы в нексусе

Я пытаюсь обновить nexus с 3.2.0 до nexus 3.7.1, получаю сообщение об ошибке max file descriptors

с использованием docker-контейнера sonatype / nexus3: 3.7.1

Я попытался увеличить дескрипторы до 65536, но это не отражается, когда я пытаюсь использовать ulimit

Я сделал: cat /etc/security/limits.conf

nexus hard nofile 65536 nexus soft nofile 65536

перезапустил мой док-контейнер

значения: ulimit -n 1024 ulimit -Hn 4096 ulimit -Sn 1024

Похоже, объяснения можно найти в документации Nexus здесь https://help.sonatype.com/repomanager3/system-requirements#SystemRequirements-AdequateFileHandleLimits


В большинстве систем Linux постоянные ограничения могут быть установлены для конкретного пользователя путем редактирования файла /etc/security/limits.conf. Чтобы установить максимальное количество открытых файлов для мягких и жестких ограничений для пользователя nexus равным 65536, добавьте следующую строку в файл /etc/security/limits.conf, где "nexus" следует заменить на идентификатор пользователя, который используется для запуска менеджера репозитория:

nexus - nofile 65536

Это изменение вступит в силу только в следующий раз, когда пользователь процесса нексуса откроет новый сеанс. По сути, это означает, что вам необходимо перезапустить NXRM.

В системах Ubuntu есть предостережение: Ubuntu игнорирует файл /etc/security/limits.conf для процессов, запущенных init.d.

Поэтому, если NXRM запускается с использованием init.d, отредактируйте /etc/pam.d/common-session и раскомментируйте следующую строку (удалите хэш # и пробел в начале строки):

# session    required   pam_limits.so

Для получения дополнительной информации обратитесь к документации вашей конкретной операционной системы.

Если вы используете systemd для запуска сервера, это не сработает. Вместо этого измените файл конфигурации, добавив строку LimitNOFILE:

[Unit] 
Description=nexus service 
After=network.target

[Service] 
Type=forking  
LimitNOFILE=65536
ExecStart=/opt/nexus/bin/nexus start 
ExecStop=/opt/nexus/bin/nexus stop 
User=nexus 
Restart=on-abort

[Install] 
WantedBy=multi-user.target