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