Как навсегда установить / изменить пределы в системе Solaris 10 Широкий

Если у вас есть bc, то вы можете заменить строку 13 на

if [ $(echo "$highest<$fourth" | bc) = 1 ];then
0
02.08.2018, 11:18
1 ответ

Не рекомендуется увеличивать глобальный лимит файловых дескрипторов, так как это может привести к сбою 32-битных программ, если они не знают, как использовать файловые дескрипторы > 255, см.:enable_extended_FILE_stdio(3C).

Поэтому может быть лучше просто вызвать базу данных оракула через сценарий оболочки, который сначала выполняет необходимые ulimitвызовы для установки ограничений, а затем вызывает базу данных.

Позвольте мне показать типичный предельный набор Solaris, который можно получить с помощью Bourne Shell (, как в моем примере ). Обратите внимание, что использование ksh93здесь бесполезно, так как ksh93 включает информацию из других ресурсов, которые нельзя установить. Это значение по умолчанию для Solaris :

.
LC_ALL=C ulimit -aSH
-t: time(seconds) unlimited:unlimited
-f: file(blocks) unlimited:unlimited
-d: data(kbytes) unlimited:unlimited
-s: stack(kbytes) 10240:unlimited
-c: coredump(blocks) unlimited:unlimited
-n: nofiles(descriptors) 256:65536
-v: memory(kbytes) unlimited:unlimited

Как видите, все значения по умолчанию выше требуемых, за исключением дескрипторов открытых файлов. Я не уверен, следует ли уменьшить жесткий предел стека.

Если вы хотите изменить значения, напишите сценарий оболочки и введите это:

ulimit -nS 1024

Это увеличивает ограничение на количество дескрипторов программных файлов до 1024 и приводит к новому ограничению:

-n: nofiles(descriptors) 1024:65536

Если вам нужно уменьшить ограничение жесткого стека, также введите:

ulimit -sH 32768

Это уменьшило ограничение жесткого стека до 32 МБ и привело к:

-s: stack(kbytes) 10240:32768

После этого введите команду для запуска базы данных оракула в скрипт, а затем запустите этот скрипт.

1
28.01.2020, 02:42

Теги

Похожие вопросы