2013-06-27 2 views
1

Я использую weblogic 12C в ОС AIX. Когда я держу ulimit = неограниченно в OS уровне и ulimit = 8192 в commEnv.sh в weblogic, я часто встречаюсь с ошибкой «Слишком много файлов».WEBLOGIC ulimit

Но когда я держу UGrenz = 2048 в ОС уровня и UGrenz = 8192 в commEnv.sh в WebLogic, сервер работает правильно.

Просьба предоставить ответ на следующие вопросы.

  1. Будет ли weblogic переопределять значение в ОС.
  2. Как рассчитать значение ulimit.
  3. Произойдет ошибка, если я резко увеличиваю значение ulimit или должен быть ограничен.
  4. ли другие параметры ULIMIT как размер стека, максимальный размер памяти устанавливается соответствующим образом со значением дескриптора файла, или они могут быть установлены на неограниченный в уровне ОС

Я также попытался развернуть сервер с UGrenz = 2000 в OS Level и отключите функцию в commEnv.sh в weblogic, но снова я получаю сообщение «Слишком много файлов».

+0

https://blogs.oracle.com/imc/entry/weblogic_server_too_many_open – user355859

ответ

2

Я немного ржавый с моей AIX, но звучит не так, как будто вы правильно устанавливаете свои ulimits. Я не верю, что вы можете просто сказать «ulimit =»; вам нужно сказать, какой из них вы хотите установить. Например, для установки указать максимальное число открытых файловых дескрипторов для процесса, вы могли бы сделать: ULIMIT -n 2000

Чтобы ответить на конкретные вопросы:

  1. , используемые по умолчанию ulimits устанавливаются в/и т.д./безопасность/пределы. Существует мягкий предел и жесткий предел. Мягким пределом является текущая настройка, тогда как жесткий предел - это максимальное значение, которое может быть установлено. При этом Weblogic может «переопределять» мягкий предел, если он не превышает жесткий предел.

  2. Я не уверен, что вы просите здесь. Вы можете отображать текущие настройки ulimit, запустив «ulimit -a»

  3. Это действительно зависит от вашей среды и того, что вы делаете. Как правило, неразумно устанавливать ваши ulimits неограниченно по той причине, что вы задаете этот вопрос: вы можете получить плохие результаты, если вы превысите свои системные ресурсы. Я знаю, что такие компании, как Oracle, скажут вам, чтобы все было неограниченным, но это плохое системное администрирование, на мой взгляд.

  4. Значение дескриптора файла (-n) полностью отделено от размера стека и т. Д. Если вам нужно настроить другие ulimits, это действительно зависит от того, что вы делаете. Я знаю, что в нашей среде WebLogic мы установили максимальный размер файла ulimit (-f) неограниченно, по сравнению с моим лучшим суждением, при внесении минимальных изменений, если таковые вообще имеются, изменились на другие ограничения. Я полагаю, что нам пришлось увеличить дескриптор nofiles до 2000, как вы упомянули.

Так что вернемся к вашему большему вопросу/проблеме. Похоже, вы просто не устанавливаете свой ulimit правильно для nofiles (-n). Похоже, что его нужно увеличить, возможно, до 2000, как вы сказали. Попробуйте добавить «ulimit -n 2000» на ваш commEnv.sh, но убедитесь, что он не превышает ваш жесткий лимит, или он не будет работать.

Я надеюсь, что это поможет.