您的位置:首页 > 数据库 > Oracle

solaris10使用projadd进行资源限制的添加(seminfo_*)

2014-12-14 15:56 423 查看
在安装oracle时,需要进行资源限制配置:

noexec_user_stack=1

semsys:seminfo_semmni=100

semsys:seminfo_semmns=1024

semsys:seminfo_semmsl=256

semsys:seminfo_semvmx=32767

shmsys:shminfo_shmmax=4294967295

shmsys:shminfo_shmmni=100

rlim_fd_max=65536

rlim_fd_cur=4096

maxuprc=16384

max_nprocs=3000

使用project(立即生效,永久)

project是Solaris10新增加的特性,可以通过设置project参数为一个用户或一组用户设置参数值。设置后可立即生效。

'但是,root用户的结果只受/etc/system里参数的影响,而不受project user.oracle影响,root用户不属于此project. '

以下是设置示例:

bash-3.2# :/ #>projadd user.oracle  (创建project user.oracle) 

bash-3.2# :/ #>id -p oracle 

uid=100(oracle) gid=1(other) projid=100(user.oracle)   (oracle用户属于project user.oracle)

bash-3.2# :/ #>projmod -a -K "process.max-file-descriptor=(basic,65534,deny)" user.oracle 

bash-3.2# :/ #>projmod -a -K "process.max-file-descriptor=(priv,65535,deny)" user.oracle 

bash-3.2# :/ #>grep 'user.oracle' /etc/project 

user.oracle:100::::process.max-file-descriptor=(basic,65534,deny),(priv,65535,deny)

设置basic和privilege值分别为65534和65535,不能越过/etc/system中的最大硬限制65535;

bash-3.2# :/ #>tail -2 /etc/system 

set rlim_fd_cur=1024 

set rlim_fd_max=65535

bash-3.2# plimit $$

13110:  bash

   resource              current         maximum

  time(seconds)         unlimited       unlimited

  file(blocks)          unlimited       unlimited

  data(kbytes)          unlimited       unlimited

  stack(kbytes)         10240           unlimited

  coredump(blocks)      unlimited       unlimited

  nofiles(descriptors)  256             65536

  vmemory(kbytes)       unlimited       unlimited

bash-3.2# 

root用户的结果只受/etc/system里参数的影响,而不受project user.oracle影响,root用户不属于此project. 

bash-3.2# su - oracle 

Oracle Corporation      SunOS 5.10      Generic Patch   January 2005

-sh: TEMP=/tmp: is not an identifier

$ bash

bash-3.2$ plimit $$ 

14704:  bash

   resource              current         maximum

  time(seconds)         unlimited       unlimited

  file(blocks)          unlimited       unlimited

  data(kbytes)          unlimited       unlimited

  stack(kbytes)         10240           unlimited

  coredump(blocks)      unlimited       unlimited

  nofiles(descriptors)  65534           65535

  vmemory(kbytes)       unlimited       unlimited

bash-3.2$ 

--同样如上进行需要修改其他参数:

noexec_user_stack=1

semsys:seminfo_semmni=100

semsys:seminfo_semmns=1024

semsys:seminfo_semmsl=256

semsys:seminfo_semvmx=32767

shmsys:shminfo_shmmax=4294967295

shmsys:shminfo_shmmni=100

rlim_fd_max=65536

rlim_fd_cur=4096

maxuprc=16384

max_nprocs=3000

projmod -a -K  "project.max-sem-ids=(priv,100,deny)" user.oracle

projmod -a -K  "process.max-sem-nsems=(priv,256,deny)" user.oracle

projmod -a -K  "project.max-shm-memory=(priv,4294967295,deny)" user.oracle

projmod -a -K  "project.max-shm-ids=(priv,100,deny)" user.oracle
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息