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

Я пытаюсь обновить 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 Hard Nofile 65536

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

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

1 ответ

Решение

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


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

 nexus - нофил 65536 

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

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

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

 # требуется сеанс pam_limits.so 

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

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

[Единица измерения] 
Описание = служба связи 
После того, как = network.target

[Обслуживание] 
Тип = разветвление  
LimitNOFILE=65536
ExecStart=/opt/nexus/bin/nexus start 
ExecStop=/opt/nexus/bin/nexus stop 
Пользователь = нексус 
Restart= на прерывании

[Установить] 
WantedBy=multi-user.target
Другие вопросы по тегам