solaris10使用projadd進行資源限制的新增(seminfo_*)

不一樣的天空w發表於2018-11-15

在安裝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. '

以下是設定示例:


--root執行

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

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

--------------------- 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2220130/,如需轉載,請註明出處,否則將追究法律責任。

相關文章