[Solaris] change max stack

Данная заметка была найдена на просторах интернета, но что бы не потерялась, добавлю себе. И так, если получаем ошибку:

genunix: [ID 702911 kern.notice] basic rctl process.max-stack-size (value 8388608) exceeded by process 938819 uid 80 ...

То есть упор в стек. Сразу скажу, что не всегда нужно его повышать до того уровня, пока не перестанут появляться данные ошибки. Тут нужно найти баланс, между частотой ошибок и наличием свободной памяти. Есть 2 варианта, как сделать.

Добавить пользователя в соответствующий project.

[root #] projadd -U oracle user.oracle
*(1) [root #] projmod -s -K 'process.max-stack-size=(priv,8192,deny)' user.oracle
*(2) [root #] projmod -s -K 'process.max-stack-size=(basic,8192,deny)' user.oracle
[root #] su - oracle
[oracle $] prctl -i process -n process.max-stack-size $

где *(1) — это Hard Limit, *(2) — Soft Limit

Добавить группу в соответствующий project.

[root #] projadd -G dba group.dba
[root #] projmod -s -K 'process.max-stack-size=(priv,8192,deny)' group.dba
[root #] su - oracle
[oracle $] prctl -i process -n process.max-stack-size $

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *